4 Replies Latest reply on Jul 24, 2020 4:28 AM by Syed Muzamil

    Issue in parsing webservice output - Complexport/Dataoutput/dotnet data table

    Dhinesh Kumar Guru

      We are invoking SOAP webservice using web service consumer transformation which returns output as dataoutput (.net data table) and informatica is not returns any data.

       

      when we invoke the service from SOAPUI, it returns the response with both xsd and actual data. When we enquire this with source team, they responded back that service returns the response in complexport / data table / object. its easy to parse the data using dotnet application. (note: WSDL does not have definition for response schema)

      1) When we inport WSDL (getMaritalStatus_Original.wsdl) into informatica, we don't see any output. it gives response as only Keys.How to get the output? Do we need to add any column like outputXML that we add for REST . Attache the verbose log () which shows the output..entire xml..

       

       

      2) When i modify the WSDL file (as MOCK response in SOAP i had need the message that "<!--You may enter ANY elements at this point-->" under Data_output) to add the columns which service returns as below and Getting error this time . Attached the verbose log ( VerboselogWithModifiedWSDL.txt). Can able to import the WSDL (getMaritalStatusINFA_Modifed.wsdl) and Web Service Consumer looks like below

       

      Error: [66017], message body: The following error occurred while running the XML processor: [XML validation error in line:1, column:461, message: no declaration found for element 'xs:schema'.- for more information see

       

       

      3) How to handle this in informatica. when I downdown the response as xml file using curl command and try to parse sing data processor. its not working

       

      4) Also, if anyone have java code to parse this kind of response also would work

       

      Mock Response in SOAP

      <tem:Data_output>

      <!--You may enter ANY elements at this point-->

      <!--You may enter ANY elements at this point-->

        </tem:Data_output>

       

      SOAP Response (has both xsd and data)

       

      <?xml version='1.0' encoding='utf-8'?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><MaritalStatusResponse xmlns="http://tempuri.org/"><MaritalStatusResult><Data_output><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet"><xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="_x0030_" msdata:UseCurrentLocale="true"><xs:complexType><xs:choice minOccurs="0" maxOccurs="unbounded"><xs:element name="_x0030_"><xs:complexType><xs:sequence><xs:element name="CertificateNumber" type="xs:string" minOccurs="0"/><xs:element name="CertificateIssuanceDate" type="xs:dateTime" minOccurs="0"/><xs:element name="MaritalStatusChangeDate" type="xs:dateTime" minOccurs="0"/><xs:element name="MaritalStatusEmirateID" type="xs:int" minOccurs="0"/><xs:element name="MaritalStatus" type="xs:int" minOccurs="0"/><xs:element name="HusbandEmiratesID" type="xs:string" minOccurs="0"/><xs:element name="HusbandNameArabic" type="xs:string" minOccurs="0"/><xs:element name="HusbandNameEnglish" type="xs:string" minOccurs="0"/><xs:element name="HusbandMobileNo" type="xs:string" minOccurs="0"/><xs:element name="WifeEmiratesID" type="xs:string" minOccurs="0"/><xs:element name="WifeNameArabic" type="xs:string" minOccurs="0"/><xs:element name="WifeNameEnglish" type="xs:string" minOccurs="0"/><xs:element name="WifeMobileNo" type="xs:string" minOccurs="0"/><xs:element name="FamilyBookDetails" type="xs:int" minOccurs="0"/><xs:element name="Source" type="xs:string" minOccurs="0"/></xs:sequence></xs:complexType></xs:element></xs:choice></xs:complexType></xs:element></xs:schema><diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"><NewDataSet xmlns=""><_x0030_ diffgr:id="01" msdata:rowOrder="0"><CertificateNumber>2/1222</CertificateNumber><CertificateIssuanceDate>1945-06-24T00:00:00+04:00</CertificateIssuanceDate><MaritalStatusChangeDate>1945-06-24T00:00:00+04:00</MaritalStatusChangeDate><MaritalStatusEmirateID>3</MaritalStatusEmirateID><MaritalStatus>1</MaritalStatus><HusbandNameArabic>name1</HusbandNameArabic><WifeNameArabic>name2</WifeNameArabic><Source>1</Source></_x0030_><_x0030_ diffgr:id="02" msdata:rowOrder="1"><CertificateNumber>1/1961</CertificateNumber><CertificateIssuanceDate>1961-12-11T00:00:00+04:00</CertificateIssuanceDate><MaritalStatusChangeDate>1961-12-11T00:00:00+04:00</MaritalStatusChangeDate><MaritalStatusEmirateID>3</MaritalStatusEmirateID><MaritalStatus>1</MaritalStatus><HusbandEmiratesID/><HusbandNameArabic>name3</HusbandNameArabic><HusbandNameEnglish/><HusbandMobileNo/><WifeEmiratesID/><WifeNameArabic>name4</WifeNameArabic><WifeNameEnglish/><WifeMobileNo/><Source>1</Source></_x0030_><_x0030_ diffgr:id="03" msdata:rowOrder="2"><CertificateNumber>2/1965</CertificateNumber><CertificateIssuanceDate>1965-06-24T00:00:00+04:00</CertificateIssuanceDate><MaritalStatusChangeDate>1965-06-24T00:00:00+04:00</MaritalStatusChangeDate><MaritalStatusEmirateID>3</MaritalStatusEmirateID><MaritalStatus>1</MaritalStatus><HusbandEmiratesID/><HusbandNameArabic>name5</HusbandNameArabic><HusbandNameEnglish/><HusbandMobileNo>0501111111</HusbandMobileNo><WifeEmiratesID/><WifeNameArabic>name6</WifeNameArabic><WifeNameEnglish/><WifeMobileNo/><Source>1</Source></_x0030_></NewDataSet></diffgr:diffgram></Data_output><ErrorCode>0</ErrorCode><Count>3</Count><ErrorDescription>Done Successfully</ErrorDescription><ErrorDescription_Ar>Done Successfully</ErrorDescription_Ar></MaritalStatusResult></MaritalStatusResponse></soap:Body></soap:Envelope>