teisipäev, 17. detsember 2013

Esimesed edusammud ja probleemid

Nädalavahetusel uuris Rene proxy generaatori poolt genereeritud koodi, kulutas ilmselt väga suure hulga aega ära ja leidis koodist mõningad vead. Suur aitäh talle!
Põhiline probleem oli selles, et XTee generaatori poolt genereeritud kood ei loe SOAPi deserialiseerimisel objektidesse elemendi kõikide alamelementide väärtusi, vaid luges ainult esimese.
Päringul 'ehr.ENOtsiAadressiKy.v1', mis oli esimeseks katsepäringuks, kui kõige lihtsam, oli lisaks veel ka see probleem, et wsdl-s kirjeldatud päringu vastuse välja tüüp erines tegelikus vastuses tagastatud välja tüübist (datetime vs. date).
Edasised katsetused päringutega praeguse seisuga:
  • ehr.katastriyksusega _seotud_objektid.v1 - Xtee.Core.Exceptions.XteeResponseProcessingFailedException: /-/ 
System.Xml.XmlException: Element 'paring' was not found. Line 1, position 859.
   at System.Xml.XmlReader.ReadStartElement(String name)
   at Xtee.Core.XteeXmlReader.ReadStartElement(String startelement) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\XteeXmlReader.cs:line 229
   at Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.Messages.KatastriyksusegaSeotudObjektidResponseOutSerializer.ReadXml(IXteeXmlReader Reader) in d:\XTeeAsjad\EhrHarku\Ehr.Xtee\Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr\Messages\Serializers\KatastriyksusegaSeotudObjektidResponseOutSerializer.cs:line 42
   at Xtee.Core.Envelope.SoapEnvelopeSerializer.ReadXml(IXteeXmlReader Reader) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\Envelope\SoapEnvelopeSerializer.cs:line 116
   at Xtee.Core.XteeSerializer.Deserialize[T](Stream stream, ISoapMessage inputMessage) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\XteeSerializer.cs:line 68
   at Xtee.Core.Client.AbstractXteeCommand.Execute(ISoapEnvelope requestEnvelope) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\Client\AbstractXteeCommand.cs:line 93
   --- End of inner exception stack trace ---
   at Xtee.Core.Client.AbstractXteeCommand.Execute(ISoapEnvelope requestEnvelope) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\Client\AbstractXteeCommand.cs:line 112
   at Xtee.XteeClient.Ehr.EhrAdapter.KatastriyksusegaSeotudObjektid(IKatastriyksusegaSeotudObjektidParingType keha) in d:\XTeeAsjad\EhrHarku\Ehr.Xtee\Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr\EhrXteeQuery.cs:line 256
   at EhrHarku.Program.Main(String[] args) in d:\XTeeAsjad\EhrHarku\EhrHarku\Program.cs:line 43

  • ehr.ENEhitiseAndmed.v1 - Et tegu on keerulisema päringu ja vastusega, siis tuleb hetkel vastuseks vaid ehitisregistri kood. Pean uurima, kuidas saada täisvastus.
  • ehr.EN_EhitiseOtsing.v1

Xtee.Core.Exceptions.XteeResponseProcessingFailedException:
Response processing failed : Requestmessage saved to : /-/
 Responsemessage saved to : /-/
 ---> System.Xml.XmlException: 'Element' is an invalid XmlNodeType. Line 15, position 175.
   at System.Xml.XmlReader.ReadEndElement()
   at Xtee.Core.XteeXmlReader.ReadEndElement() in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\XteeXmlReader.cs:line 88
   at Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.ENEhitiseOtsingResponseSerializer.ReadXml(IXteeXmlReader Reader) in d:\XTeeAsjad\EhrHarku\Ehr.Xtee\Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr\Serializers\ENEhitiseOtsingResponseSerializer.cs:line 57
   at Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.Messages.ENEhitiseOtsingResponseSerializer.ReadXml(IXteeXmlReader Reader) in d:\XTeeAsjad\EhrHarku\Ehr.Xtee\Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr\Messages\Serializers\ENEhitiseOtsingResponseSerializer.cs:line 60
   at Xtee.Core.Envelope.SoapEnvelopeSerializer.ReadXml(IXteeXmlReader Reader) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\Envelope\SoapEnvelopeSerializer.cs:line 116
   at Xtee.Core.XteeSerializer.Deserialize[T](Stream stream, ISoapMessage inputMessage) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\XteeSerializer.cs:line 68
   at Xtee.Core.Client.AbstractXteeCommand.Execute(ISoapEnvelope requestEnvelope) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\Client\AbstractXteeCommand.cs:line 93
   --- End of inner exception stack trace ---
   at Xtee.Core.Client.AbstractXteeCommand.Execute(ISoapEnvelope requestEnvelope) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\Client\AbstractXteeCommand.cs:line 112
   at Xtee.XteeClient.Ehr.EhrAdapter.ENEhitiseOtsing(IENEhitiseOtsingQuery keha) in d:\XTeeAsjad\EhrHarku\Ehr.Xtee\Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr\EhrXteeQuery.cs:line 146
   at EhrHarku.Program.Main(String[] args) in d:\XTeeAsjad\EhrHarku\EhrHarku\Program.cs:line 57


  • ENOtsiAadressiAdrTxt Päring parameetritega näiteks ("", "Harku", "Adra", "", "", "", "", "", "")' annab vastuseks:
Xtee.Core.Exceptions.XteeResponseProcessingFailedException:
Response processing failed : Requestmessage saved to : /-/
 Responsemessage saved to : /-/
 ---> System.Xml.XmlException: 'Element' is an invalid XmlNodeType. Line 15, position 159.
   at System.Xml.XmlReader.ReadEndElement()
   at Xtee.Core.XteeXmlReader.ReadEndElement() in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\XteeXmlReader.cs:line 88
   at Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.ENOtsiAadressiAdrTxtResponseSerializer.ReadXml(IXteeXmlReader Reader) in d:\XTeeAsjad\EhrHarku\Ehr.Xtee\Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr\Serializers\ENOtsiAadressiAdrTxtResponseSerializer.cs:line 57
   at Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.Messages.ENOtsiAadressiAdrTxtResponseSerializer.ReadXml(IXteeXmlReader Reader) in d:\XTeeAsjad\EhrHarku\Ehr.Xtee\Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr\Messages\Serializers\ENOtsiAadressiAdrTxtResponseSerializer.cs:line 60
   at Xtee.Core.Envelope.SoapEnvelopeSerializer.ReadXml(IXteeXmlReader Reader) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\Envelope\SoapEnvelopeSerializer.cs:line 116
   at Xtee.Core.XteeSerializer.Deserialize[T](Stream stream, ISoapMessage inputMessage) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\XteeSerializer.cs:line 68
   at Xtee.Core.Client.AbstractXteeCommand.Execute(ISoapEnvelope requestEnvelope) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\Client\AbstractXteeCommand.cs:line 93
   --- End of inner exception stack trace ---
   at Xtee.Core.Client.AbstractXteeCommand.Execute(ISoapEnvelope requestEnvelope) in d:\XTeeAsjad\xtee_436d87804303\Src\Xtee.Core\Client\AbstractXteeCommand.cs:line 112
   at Xtee.XteeClient.Ehr.EhrAdapter.ENOtsiAadressiAdrTxt(IENOtsiAadressiAdrTxtQuery keha) in d:\XTeeAsjad\EhrHarku\Ehr.Xtee\Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr\EhrXteeQuery.cs:line 198
   at EhrHarku.Program.Main(String[] args) in d:\XTeeAsjad\EhrHarku\EhrHarku\Program.cs:line 64

ja responsemessages on andmed 50+ aadressi kohta.

Kommentaare ei ole:

Postita kommentaar