on 07-04-2007 5:45 PM
Hi,
When I do a simple web service call from a Visual Studio .NET 2005 generated Proxy, it works. But if I want to use WSE3 and change the class of the service proxy from SoapHttpClientProtocol to WebServicesClientProtocol. (like descriped here: <a href="http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/121b053d-0401-0010-539f-f9295efb7bad">Creating a .NET Client for a SAP Java Web Service</a>)
I got the following error:
<SOAP:Fault>
´ <faultcode>SOAP:Server</faultcode>
<faultstring>System Error</faultstring>
<detail>
<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context></context>
<code>PARSER.</code>
<text></text>
</s:SystemError>
</detail>
</SOAP:Fault>
(SystemError has xi2.0 namespace??? but we use xi3.0)
I tried to find out where's the problem by manipulating the soap requests from .NET. The SoapHttpClientProtocol doesnt transfer any soap:Header and the WebServicesClientProtocol class transfers the following header:
<soap:Header>
<wsa:Action>http ://sap.com/xi/WebService/soap1.1</wsa:Action>
wsa:MessageID>urn:uuid:2dc3c344-b97a-4933-9cca-f15be54e6c45</wsa:MessageID>
<wsa:ReplyTo>
<wsa:Address>http ://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
</wsa:ReplyTo>
<wsa:To>http: //server:8000/sap/xi/engine?type=entry&version=3.0&Sender.Service=DOT_NET_Webservice&Interface=http://www.server.com/xi/dotnet3/00^MI_DOT_NET_SECURE_SERVICE_Sync_Out</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-10358da0-25cd-41f9-a55c-2901422450c8">
<wsu:Created>2007-07-04T14:59:46Z</wsu:Created>
<wsu:Expires>2007-07-04T15:04:46Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
I found out, that the following header also causes the same error:
<soap:Header>
<wsa:test></wsa:test>
</soap:Header>
but this header causes no error:
<soap:Header>
<test></test>
</soap:Header>
It looks like SAP XI has problems with the namespaces in the header.
What i have to do to call a SAP XI web service with Microsoft WSE3.
thank you
Thomas,
I read in the previous threads, that for this issue you have to overwrite the WSDL with version 3.0 namespace.I'm not sure whethe it will work or not But u can give a try.
Best regards,
raj.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
now i installed XI/PI 7.0. I have exactly the same problem!!! has anyone an idea? what can i do?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
here is my wsdl:
<wsdl:definitions name="MI_DOT_NET_SECURE_SERVICE_Sync_Out" targetNamespace="http://www.server.com/xi/dotnet3/00" xmlns:p2="urn:sap-com:document:sap:rfc:functions" xmlns:p1="http://www.server.com/xi/dotnet3/00" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xsd:schema targetNamespace="urn:sap-com:document:sap:rfc:functions" xmlns="urn:sap-com:document:sap:rfc:functions" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Z_RFC_SECURE_SERVICE">
<xsd:complexType>
<xsd:all>
<xsd:element name="VALUE1" type="xsd:int" />
<xsd:element name="VALUE2" type="xsd:int" />
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="Z_RFC_SECURE_SERVICE.Response">
<xsd:complexType>
<xsd:all>
<xsd:element name="RESULT" type="xsd:int" />
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="p2.Z_RFC_SECURE_SERVICEInput">
<wsdl:part name="parameters" element="p2:Z_RFC_SECURE_SERVICE" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" />
</wsdl:message>
<wsdl:message name="p2.Z_RFC_SECURE_SERVICEOutput">
<wsdl:part name="parameters" element="p2:Z_RFC_SECURE_SERVICE.Response" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" />
</wsdl:message>
<wsdl:portType name="MI_DOT_NET_SECURE_SERVICE_Sync_Out">
<wsdl:operation name="MI_DOT_NET_SECURE_SERVICE_Sync_Out">
<wsdl:input message="p1:p2.Z_RFC_SECURE_SERVICEInput" />
<wsdl:output message="p1:p2.Z_RFC_SECURE_SERVICEOutput" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MI_DOT_NET_SECURE_SERVICE_Sync_OutBinding" type="p1:MI_DOT_NET_SECURE_SERVICE_Sync_Out" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" />
<wsdl:operation name="MI_DOT_NET_SECURE_SERVICE_Sync_Out">
<soap:operation soapAction="http://sap.com/xi/WebService/soap1.1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" />
<wsdl:input>
<soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MI_DOT_NET_SECURE_SERVICE_Sync_OutService">
<wsdl:port name="MI_DOT_NET_SECURE_SERVICE_Sync_OutPort" binding="p1:MI_DOT_NET_SECURE_SERVICE_Sync_OutBinding" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<soap:address location="http://server:8000/sap/xi/engine?type=entry&version=3.0&Sender.Service=DOT_NET_Webservice&Interface=http%3A%2F%2Fwww.server.com%2Fxi%2Fdotnet3%2F00%5EMI_DOT_NET_SECURE_SERVICE_Sync_Out" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
What should I change???
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
74 | |
26 | |
11 | |
10 | |
7 | |
6 | |
4 | |
4 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.