on 07-26-2007 4:46 PM
Hi guys,
I have a problem with consuming an external webservice on the SAP WAS.
I get the following error in the WS Navigator of the WAS:
<i>XML Deserialization Error. Node [urn:de.albatros.rentenkonto][aufschubfrist] not described in Schema.</i>
In my WebDynpro Application it isnt working as well:
<i>Exception on execution of web service with operation 'getKunde' in interface 'KundeImpl'</i>
But in the Netweaver Developer Studio Web Services Checker Tool, it is working, so the Problem must be in the communication between WAS and webservice.
<b>This is the SOAP Response from the Axis Webservice:</b>
<soapenv:Body>
<getKundeResponse xmlns="urn:de.albatros.rentenkonto">
<getKundeReturn>
...
<vertraegePk>
<b><vertraegePk></b>
<aufschubfrist>12</aufschubfrist>...
<b>This is the WSDL from the Webservice:</b>
...
<wsdl:types>
<schema elementFormDefault="qualified" targetNamespace="urn:de.albatros.rentenkonto" xmlns="http://www.w3.org/2001/XMLSchema">
<element name="getKundeResponse">
<complexType>
<sequence>
<element name="getKundeReturn" type="impl:Kunde" />
</sequence>
</complexType>
</element>
<complexType name="Vertrag">
<sequence>
<element name="aufschubfrist" type="xsd:int" />
...
</sequence>
</complexType>
<complexType name="ArrayOfVertrag">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" <b>name="item"</b> type="impl:Vertrag" />
</sequence>
</complexType>
<complexType name="Kunde">
<sequence>
<element name="vertraegePk" nillable="true" type="impl:ArrayOfVertrag" />
</sequence>
</complexType>
</schema>
</wsdl:types>
So we have an array of an array. I was thinking that the WSDL doesn't match the SOAP Response (see the bold parts). But both are automatically generated. Any thoughts/experiences are appreciated.
Kind regards,
Christoph
Hi Cristoph,
when consuming a webservice from an external systems, problems are normally caused by the following:
- Invalid or missing configuration parameters in the communication channel configuration.
- Firewall/proxy and authorization problem.
- Message/interface structure not compatible with the published webservice interface.
- The webservice on the external system has errors.
When we consume a webservice of an external application, we must have the WSDL file.
To test the service, you can use a SOAP client tool. There are many on the internet. The one I use is soapUI from http://soapui.org, which is a free and open source desktop application for inspecting, invoking, developing, simulating/mocking and functional/load/compliance testing of web services over HTTP.
if it helpful reward points are appreciated
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Pierluigi,
thanks for your reply. This tool is nice by the way.
But it doesnt help as we already successfully invoked the Webservice with a Client-Standalone Tool. (Netweaver Developer Studio Web Services Checker Tool)
To make it clear. Webservice is fine and giving correct answers to a local client, and it is working too when the response structure is simpler (when all arrays of the SOAP response are empty because of the backend data).
Therefore I also think that what you said with "<i>Message/interface structure not compatible with the published webservice interface</i>" is the problem here. (<b>WSDL and SOAP envelope from Axis WS are misread by SAP WAS</b>)
Now we try to simplify our Webservice (no arrays of arrays any more).
Maybe that helps.
Any comments are welcome.
Kind regards,
Christoph
User | Count |
---|---|
80 | |
24 | |
11 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.