on 04-09-2008 5:48 PM
Hallo Experts,
XI Scenario is ABAP Proxy - XI SOAP-Adapter - WEb service
I have to consume a webservice form XI, which has differnent operations.
The service is imported to XI through extenal definition via wsdl file
?xml version="1.0" encoding="ISO-8859-1"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://tempuri.org/BS2000" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" name="BS2000" targetNamespace="http://tempuri.org/BS2000">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://tempuri.org/BS2000" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" elementFormDefault="unqualified" targetNamespace="http://tempuri.org/BS2000" />
</types>
<message name="UTMECHTInput">
<part name="nb_tac" type="xs:string" />
<part name="nb_daten_laenge" type="xs:int" />
<part name="nb_daten" type="xs:string" />
</message>
<message name="UTMECHTOutput">
<part name="nb_status" type="xs:string" />
<part name="nb_status_text" type="xs:string" />
<part name="nb_upic_rc" type="xs:int" />
<part name="nb_daten1" type="xs:string" />
</message>
<message name="UTMTESTInput">
<part name="nb_tac" type="xs:string" />
<part name="nb_daten_laenge" type="xs:int" />
<part name="nb_daten" type="xs:string" />
</message>
<message name="UTMTESTOutput">
<part name="nb_status" type="xs:string" />
<part name="nb_status_text" type="xs:string" />
<part name="nb_upic_rc" type="xs:int" />
<part name="nb_daten1" type="xs:string" />
</message>
<portType name="BS2000">
<operation name="UTMECHT">
<input message="tns:UTMECHTInput" />
<output message="tns:UTMECHTOutput" />
</operation>
<operation name="UTMTEST">
<input message="tns:UTMTESTInput" />
<output message="tns:UTMTESTOutput" />
</operation>
</portType>
<binding name="BS2000" type="tns:BS2000">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="UTMECHT">
<soap:operation soapAction="" />
<input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://tempuri.org/BS2000" use="encoded" />
</input>
<output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://tempuri.org/BS2000" use="encoded" />
</output>
</operation>
<operation name="UTMTEST">
<soap:operation soapAction="" />
<input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://tempuri.org/BS2000" use="encoded" />
</input>
<output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://tempuri.org/BS2000" use="encoded" />
</output>
</operation>
</binding>
<service name="BS2000">
<port binding="tns:BS2000" name="BS2000">
<soap:address location="http://194.175.255.5:9003" />
</port>
</service>
</wsdl:definitions>
from there a message inrterface is defined with messages UTMTESTInput and UTMTESTOutput.
This is used in an ABAP PROXY to SOAP scenario..
Mappings are defined and work properly.
When i configure a new commuinication channel the service is called
but returns with error ' Service not found' (because the service UTMTESTInput is called
The communication channel is type SOAP ; HTTP; SOAP1.1, Integration Server and Target URL
is it possible to call the webservice with a certain operation , because there is no SOAPaction defined ?
An How to do This
Thank you in advance
Bernhard
You have to change the import method of the wsdl in the External Definition, since your wsdl is in rpc-style. In the Messages drop-down list, select the Except rpc-style entry.
http://help.sap.com/saphelp_nw70/helpdata/en/43/ce993b45cb0a85e10000000a1553f6/frameset.htm
You'll probably have to redefine your mappings.
Regards,
Henrique.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
> is it possible to call the webservice with a certain operation , because there is no SOAPaction defined ?
That is always the case. You choose the operation while a create the interface from the external definition.
Check the message payload after mapping and make sure, that root tag name and namespace are as expected on receiver side.
Regards
Stefan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
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.