cancel
Showing results for 
Search instead for 
Did you mean: 

XI to WebService . Pls advice urgent

Former Member
0 Kudos

Hi All,

Scenario:

There is some response from System A back into XI.

I need to send response from XI to System B and get response back to XI.

System B has Synchronous Web Service and has provided its WSDL to XI.

Question:

1. Do I need to Import Webservice WSDL as External Defination in XI.?

2.Do I need to use only Soap Receiver Adapter in XI as it is Synchronous Web Service and XI can get response back from that System or also I need Soap Sender Adapter ?

Regards

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Question:

1. Do I need to Import Webservice WSDL as External Defination in XI.?

Answer: Yes

2.Do I need to use only Soap Receiver Adapter in XI as it is Synchronous Web Service and XI can get response back from that System or also I need Soap Sender Adapter ?

Answer: only SOAP receiver channel,

Former Member
0 Kudos

Hi Sudeep,

Thanks for response.

For Soap Receiver Adapter -- URL my client has provided:

http://ip address/MMWebService/MMWebSrv.asmx?WSDL

Does this I need to provide in Target URL of Soap Receiver Adapter?

Also does I need User Name and Password for that Webservice Server?

Regards

Former Member
0 Kudos

<Does this I need to provide in Target URL of Soap Receiver Adapter?>

Answer: Yes

<Also does I need User Name and Password for that Webservice Server?>

Answer: Yes if the service provider requires such authentication, else u can do without password

Former Member
0 Kudos

Hi Sudeep,

For Soap Receiver Adapter -- URL my client has provided:

http://ip address/MMWebService/MMWebSrv.asmx?WSDL

Can I paste the URL as it is in Soap Receiver Adapter Target URL field?

Regards

Former Member
0 Kudos

<Can I paste the URL as it is in Soap Receiver Adapter Target URL field?>

Answer: No

u dont need the URL of the WSDL,

u need the URL of the Connection Endpoint:

in the WSDL file goto the tag <wsdl:service> then <wsdl:port> and then <soap:address location="myURL.com">

this is the URL or Connection Endpoint of the opertaion u are going to execute,

for help, use ALTOVA like softwares

Former Member
0 Kudos

Hi Sudeep,

Client URL --

http://ipaddress/MMWebService/MMWebSrv.asmx?WSDL

I opened client's above wsdl gone to wsdl:service --

- <wsdl:service name="MMWebSrvService">

- <wsdl:port name="MMWebSrvServiceSoap" binding="tns:MMWebSrvServiceSoap">

<soap:address location="http://ipaddress/MMWebService/MMWebSrv.asmx" />

</wsdl:port>

- <wsdl:port name="MMWebSrvServiceSoap1" binding="tns:MMWebSrvServiceSoap1">

<soap12:address location="http://ipaddress/MMWebService/MMWebSrv.asmx" />

</wsdl:port>

</wsdl:service>

Pls suggest which URL to put in Target URL of Soap Receiver Adapter?

Regards

Former Member
0 Kudos
Former Member
0 Kudos

<soap:address location="http://ipaddress/MMWebService/MMWebSrv.asmx" />

use http://ipaddress/MMWebService/MMWebSrv.asmx

also search for SOAPAction

goto

<wsdl:binding name="MMWebSrvServiceSoap"> <wsdl:operation name="myOperation">

<soap:operation soapAction="http://sap.com/xi/WebService/soap1.1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>

U need to give SOAPAction in the receiver chhannel

Former Member
0 Kudos

Hi Sudeep,

<soap:address location="http://ipaddress/MMWebService/MMWebSrv.asmx" />

--- http://ipaddress/MMWebService/MMWebSrv.asmx

What is now soap action. There are so many soap action

Pls tell me the URL to put in Target URL field of Soap Receiver Adapter.

For reference pls see my wsdl

http://172.20.80.11/MMWebService/MMWebSrv.asmx?WSDL

Regards

former_member194786
Active Contributor
0 Kudos

Hi Henry,

SOAP action is what your web service should perform to process your data. So select the action accordingly. Sorry could not access the web service wsdl, so cant tell specifically which one to be used.

Regards,

Sanjeev.

Former Member
0 Kudos

use target URL as

http://ipaddress/MMWebService/MMWebSrv.asmx

and for SOAPAction

goto <soap:binding> then <wsdl:operation name="yourOperation"> and then <soap:operation soapAction="mySOAPAction">

I cant access ur WSDL, is it over the internet....

the best thing is to use software like ALTOVA XML SPY to analyse ur WSDL, u can download a trial version

Edited by: sudeep dhar on Apr 14, 2008 4:22 PM

Former Member
0 Kudos

Hi ,

For:

<wsdl:operation name="SendMessage">

<soap12:operation soapAction="#SendMessage" style="rpc" />

<wsdl:input>

<soap12:body use="encoded" namespace="urn:MMWebSrvService" encodingStyle="http://www.w3.org/2003/05/soap-encoding" />

I asked my client . He has given me below URL:

http://172.20.80.11/MMWebService/MMWebSrv.asmx?op=SendMessage

Is it corrcet now?

Regards

Former Member
0 Kudos

I Guess the URL given by u is a HTTP GET request call,

Target URL: http://172.20.80.11/MMWebService/MMWebSrv.asmx

<<soap12:operation soapAction="#SendMessage" style="rpc" />>

hence soapAction: #SendMessage

Edited by: sudeep dhar on Apr 14, 2008 5:01 PM

Former Member
0 Kudos

Hi Sudeep,

I used URL in adapter --

http://172.20.80.11/MMWebService/MMWebSrv.asmx

When I sent message I got error:

<SAP:AdditionalText>soap fault: Server did not recognize the value of HTTP Header SOAPAction: .</SAP:AdditionalText>

My Soap Action is

SOAPAction: "#SendMessage"

How to resolve this error

Regards

Former Member
0 Kudos

Henry,

if u cant find SOAPAction......

search in WSDL file for all <soap:operation soapAction="mySOAPAction">

u say there are many soapAction....so use them one by one.....this is trial and error,

Note: the error shows, ur target URL is OK, once u get the correct SOAPAction..it ll work,,

Edited by: sudeep dhar on Apr 14, 2008 6:07 PM

Former Member
0 Kudos

Hi Sudeep,

I am sending this xml from runtime workbench:

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

<ns0:MT_REQ_TEST xmlns:ns0="http://CRM">

<MobileNo>1</MobileNo>

<Message>2</Message>

<ActivationCode>3</ActivationCode>

<StrService>4</StrService>

<StrFrom>5</StrFrom>

<StrOptions>6</StrOptions>

</ns0:MT_REQ_TEST>

The below XML forms after mapping

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

- <ns1:SendMessageSoapIn xmlns:ns1="urn:MMWebSrvService">

<strFrom>XI</strFrom>

<strTo>1</strTo>

<strMessage>2</strMessage>

<strSubject>3</strSubject>

<strService>abc</strService>

<nOptions>0</nOptions>

</ns1:SendMessageSoapIn>

In Soap Receiver Adapter

URL -- http://172.20.80.11/MMWebService/MMWebSrv.asmx

Soap action -- #SendMessage

The error I am getting now:

<SAP:AdditionalText>soap fault: Server was unable to read request. ---> There is an error in XML document (1, 97). ---> <SendMessageSoapIn xmlns='urn:MMWebSrvService'> was not expected.</SAP:AdditionalText>

Pls advice

Regards

Former Member
0 Kudos

Henry may i know how did u do the mapping,

i mean to say, how did u created the Inbound Synchronous Message interface?

hope u have done it in the following fashion:

step 1: create Inbound Synchronous Message interface using the WSDL stored as external definition,

step 2: create ur own Sync Message interface

step 3: map them

As i can see the error

<SendMessageSoapIn xmlns='urn:MMWebSrvService'>

i think there shoud be double quotes ("")

<SendMessageSoapIn xmlns="urn:MMWebSrvService">

this was just a guess....u may try it

Former Member
0 Kudos

Hi,

1. Do I need to Import Webservice WSDL as External Defination in XI.?

Yes you have to import as ED. Once you import you get your message type and then u can easily construct the interfaces for communication

2.Do I need to use only Soap Receiver Adapter in XI as it is Synchronous Web Service and XI can get response back from that System or also I need Soap Sender Adapter ?

Yes. SOAP Adapter right choice.

You need SOAP Receiver for receiving the response from SYSTEM A and SOAP Sender for Sending the same response to SYSTEM B.

Hope this helps you.

Regards

Ramesh P

Former Member
0 Kudos

Hi All,

For Point 1 thanks.

For Point 2 -- I was saying as WebService in synchronous in nature.So I need to make Sync Inbound Interface in XI.

As RFC receiver adapter is able to get response back to XI does Soap Receiver Adapter is able to get response back to XI so that we do not require Soap Sender Adapter?

Regards

former_member194786
Active Contributor
0 Kudos

Hi,

I think you need the sender SOAP channel.

Thanks and Regards,

Sanjeev.

Former Member
0 Kudos

Hi Sanjeev,

Pls see Sudeep response.

Regards

ambili_jose
Explorer
0 Kudos

Hi Henry,

How are you invoking the webservice? For invoking you need to send some data to the web service. For this you need some sender adapter.

Regards,

Ambili.

former_member194786
Active Contributor
0 Kudos

Hi Henry,

1. Do I need to Import Webservice WSDL as External Defination in XI.?

Yes you do need to.

2. Do I need to use only Soap Receiver Adapter in XI as it is Synchronous Web Service and XI can get response back from that System or also I need Soap Sender Adapter ?

It depends on which form you want the response to be send in. If you want the response to be send in file you need to use File adapter. Or else if its an IDOC use IDOC adapter.

Thanks and Regards,

Sanjeev.