cancel
Showing results for 
Search instead for 
Did you mean: 

Broken SOAP response

Former Member
0 Kudos

Hi all,

we develop a mobile application (.NET compact framework/ WinCE) making use of SOAP-Requests on SAP WebAS 6.20 patch level (PL) 37.

As we patched one of our systems to PL 42, the resulting SOAP response changed and can not interpreted correctly, causing in a managed error in Windows CE. Even if the web service on PL42 is consumed via Visual Studio the problem can not be corrected.

It seems that SAP has changed the namespace in the SOAP response. The WSDL, however, is unchanged.

Has anybody encountered similar problems or has some idea how to change the WSDL correctly?

Can a change in namespace be correct if the WSDL is not adjusted?

Thanks

Chris

Answer System PL37:

<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">

<SOAP-ENV:Body>

<Z_SZ_SEND_XML.Response

xmlns="urn:sap-com:document:sap:rfc:functions">

<XML>Hallo</XML>

</Z_SZ_SEND_XML.Response>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Answer System PL42:

<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >

<SOAP-ENV:Body>

<rfc:Z_SZ_SEND_XML.Response

xmlns:rfc="urn:sap-com:document:sap:rfc:functions">

<XML>Hallo</XML>

</rfc:Z_SZ_SEND_XML.Response>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

WSDL(both)

<?xml version="1.0" encoding="utf-8"?>

<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="urn:sap-com:document:sap:rfc:functions" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="urn:sap-com:document:sap:rfc:functions" xmlns="http://schemas.xmlsoap.org/wsdl/">

<types>

<s:schema targetNamespace="urn:sap-com:document:sap:rfc:functions">

<s:element name="Z_SZ_SEND_XML">

<s:complexType>

<s:all />

</s:complexType>

</s:element>

<s:element name="Z_SZ_SEND_XML.Response">

<s:complexType>

<s:all>

<s:element name="XML" type="s:string" />

</s:all>

</s:complexType>

</s:element>

</s:schema>

</types>

<message name="Z_SZ_SEND_XMLInput">

<part name="parameters" element="s0:Z_SZ_SEND_XML" />

</message>

<message name="Z_SZ_SEND_XMLOutput">

<part name="parameters" element="s0:Z_SZ_SEND_XML.Response" />

</message>

<portType name="Z_SZ_SEND_XMLPortType">

<operation name="Z_SZ_SEND_XML">

<input message="s0:Z_SZ_SEND_XMLInput" />

<output message="s0:Z_SZ_SEND_XMLOutput" />

</operation>

</portType>

<binding name="Z_SZ_SEND_XMLBinding" type="s0:Z_SZ_SEND_XMLPortType">

<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />

<operation name="Z_SZ_SEND_XML">

<soap:operation soapAction="http://www.sap.com/Z_SZ_SEND_XML" />

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

</binding>

<service name="Z_SZ_SEND_XMLService">

<documentation>SAP Service Z_SZ_SEND_XML via SOAP</documentation>

<port name="Z_SZ_SEND_XMLPortType" binding="s0:Z_SZ_SEND_XMLBinding">

<soap:address location="http://brain05a.dsc-gmbh.de:8080/sap/bc/soap/rfc" />

</port>

</service>

</definitions>

Accepted Solutions (1)

Accepted Solutions (1)

Benny
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Christopher,

did you issue an OSS message?

Thisd seems to be a case for support.

Regards,

Benny

Former Member
0 Kudos

Hi Benny,

I did issue an OSS message, but SAP responded that the SOAP response was intended to be the way it is. They did not say anything about the WSDL. I asked them to comment on the unchanged WSDL, but they didn't respond yet.

It is important for me to continue quickly at this point since my customer wants to go live with PL42.

Regards,

Chris

Benny
Product and Topic Expert
Product and Topic Expert
0 Kudos

I'd say it's time to push a little bit. There is for sure nobody here on SDN who can help you.

Please put your OSS message on a higher level.

Regards,

Benny

Former Member
0 Kudos

I agree that you should escalate your support request. However I do not think the problem is the namespace. Both messages seem consistent with the WSDL to me and the namespaces are the same. These two elements are equivelent:

<Z_SZ_SEND_XML.Response xmlns="urn:sap-com:document:sap:rfc:functions">

<rfc:Z_SZ_SEND_XML.Response xmlns:rfc="urn:sap-com:document:sap:rfc:functions">

The difference between them is that one uses a namespace prefix (rfc in this example), the other does not. Both of these are valid for the WSDL you have provided. I would also say that using namespace prefixes as the PL42 system does is a better practice. So your problem is coming from something else I think. This could be an error with the xml parser if it can not handle namespace prefixes, but I'm fairly certain .NET Compact Framework can handle this.

Benny
Product and Topic Expert
Product and Topic Expert
0 Kudos

Did I say nobody can help you?

Well, I didn't expect Marc coming down the street...

Benny

Answers (0)