Skip to Content
avatar image
Former Member

SOAP - untyped dataset in response: mapping problem (WSDL)

Hi All,

problem is with using untyped dataset in soap response.

What’s going on. My scenario is: RFC from ERP -> XI -> (OTHER SYSTEM – SOAP Services) -> XI -> RFC in ERP.

Data from ERP (request) are send to SOAP correctly. But response contains UNTYPED DATASET, and I don’t know how to read data from that. Communication is synchronous, used is SOAP adapter. I use clasic WSDL for webservice. This WSDL is from developer whitch did this services.

Part of WSDL with untyped dataset.

<wsdl:definitions targetNamespace="http://www.atcomp.cz/webservices">

<wsdl:types>

<s:schema elementFormDefault="qualified" targetNamespace="http://www.atcomp.cz/webservices">

<s:import namespace="http://www.w3.org/2001/XMLSchema"/>

<s:element name="StavSkladuZmeny">

<s:complexType>

<s:sequence>

<s:element minOccurs="0" maxOccurs="1" name="strUzivatelskeJmeno" type="s:string"/>

<s:element minOccurs="0" maxOccurs="1" name="strUzivatelskeHeslo" type="s:string"/>

<s:element minOccurs="1" maxOccurs="1" name="dtmDatumOd" type="s:dateTime"/>

</s:sequence>

</s:complexType>

</s:element>

<s:element name="StavSkladuZmenyResponse">

<s:complexType>

<s:sequence><s:element minOccurs="0" maxOccurs="1" name="StavSkladuZmenyResult">

<s:complexType><s:sequence><s:element ref="s:schema"/>

<s:any/>

</s:sequence>

</s:complexType>

</s:element>

</s:sequence>

</s:complexType>

</s:element>

...

...

...

Problem si in message maping at response time. XML which is in response from SOAP has this structure:

Original XML:

<DataSet>

<xs:schema id="StavySkladu">

<xs:element name="StavySkladu" msdata:IsDataSet="true" msdata:Locale="cs-CZ">

<xs:complexType>

<xs:choice maxOccurs="unbounded">

<xs:element name="Zbozi">

<xs:complexType>

<xs:attribute name="kod" type="xs:string"/>

<xs:attribute name="pocet" type="xs:int"/>

</xs:complexType>

</xs:element>

</xs:choice>

</xs:complexType>

</xs:element>

</xs:schema>

<diffgr:diffgram>

<StavySkladu>

<Zbozi diffgr:id="Zbozi1" msdata:rowOrder="0" kod="34313036" pocet="100"/>

<Zbozi diffgr:id="Zbozi2" msdata:rowOrder="1" kod="34313035" pocet="28"/>

<Zbozi diffgr:id="Zbozi3" msdata:rowOrder="2" kod="34313023" pocet="100"/>

...

...

If in message mapping I use data from WSDL (services StavSkladuSoapOut) response is not recognized and parsed, „connection „ is stoped with error in mapping. When I import this XML with original response into message mapping, I test it with correct finish, but in normal run, error is the same.

Any idea, how to work with wsdl with untyped dataset in response? I must replace element s:scheme in WSDL by origina XML or....??

On this picture is imported original response xml file (for testing OK, real not OK (KO))

Thank you

Michal

pastedImage_7.png (39.4 kB)
Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Best Answer
    Apr 01, 2013 at 05:02 AM

    Hello Michal,

    If that is indeed the response, then I guess you have no choice but to use Java/XSLT mapping to extract the Dataset.

    Regards,

    Mark

    Add comment
    10|10000 characters needed characters exceeded