Skip to Content
0
May 12, 2008 at 09:19 AM

SAP => XI => WebService synchronous communication and SPROXY

44 Views

I've *.wsdl which is describing my WebService (rpc style). I've imported it into XI (I see it in Exported Definision). I've definined also an message interface using imported entries form *.wsdl for defining input and output messages. So far, so good. Next after activation I've created PROXY using SPROXY. But when I try to run test I'm not able to receive right response from my WebService. I though that is a problem of original *.wsdl definition but it is not. I'm able to get right response form WebService using Altova XML Spy. So problems seems to be on XI or SPROXY side.

Any ideas what should I do?

Below you will find a original *.wsdl file (it is not *.wsdl file generated by XI!)

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 sp1 (http://www.altova.com)>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://new.webservice.namespace" xmlns:ns="http://www.dat.de/sdii/ids/Sd2SOAP.wsdl" targetNamespace="http://www.dat.de/sdii/ids/Sd2SOAP.wsdl">
	<wsdl:types>
		<xs:schema targetNamespace="http://new.webservice.namespace" elementFormDefault="qualified"/>
	</wsdl:types>
	<wsdl:message name="Sd2Ids_SzfExport">
		<wsdl:part name="arg1" type="xs:string"/>
		<wsdl:part name="arg2" type="xs:string"/>
	</wsdl:message>
	<wsdl:message name="Result">
		<wsdl:part name="Function" type="xs:string"/>
		<wsdl:part name="r" type="xs:string"/>
	</wsdl:message>
	<wsdl:portType name="SD2Port">
		<wsdl:operation name="Sd2Ids_SzfExport">
			<wsdl:input message="ns:Sd2Ids_SzfExport"/>
			<wsdl:output message="ns:Result"/>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="SD2binding" type="ns:SD2Port">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<wsdl:operation name="Sd2Ids_SzfExport">
			<soap:operation soapAction="urn:Sd2Ids_SzfExport"/>
			<wsdl:input>
				<soap:body use="encoded" namespace="http://www.dat.de/sdii/ids/Sd2SOAP.wsdl"/>
			</wsdl:input>
			<wsdl:output>
				<soap:body use="encoded" namespace="http://www.dat.de/sdii/ids/Sd2SOAP.wsdl"/>
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="SD2Service">
		<wsdl:port name="SD2Service" binding="ns:SD2binding">
			<soap:address location="http://localhost:56791/"/>
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>

I'm guessing that problem is with soap:address, because of localhost definition (but my server is really running on my localhost). I'm not sure where I can pass information to XI to use those localhost adress and port.

I will reward all helping answers with points