cancel
Showing results for 
Search instead for 
Did you mean: 

inbound message pickup

Former Member
0 Kudos

We are trying an R/3 --> XI --> HTTP/SOAP scenario to send and receive xml messages. The external receiver is a secured web server. Is it advisable to use a HTTP or a SOAP adapter? Also during inbound, will XI be able to pick up messages from the same external URL? If so how would that recognize the different interfaces it needs to post to? For eg . If there is an inbound invoice and credit memo XML messages, how would XI adapter (again which adapter) would recognize the appropriate interfaces? Does soap action play a big part in it or I can live with an HTTP adapter.

Teresa

Message was edited by: Teresa Smith

Accepted Solutions (1)

Accepted Solutions (1)

former_member206604
Active Contributor
0 Kudos

Hi,

If your target is webservice you need to use SOAP adapter or if it is just web application then you will be using HTTP adapter.

Check out this about HTTP adapter

http://help.sap.com/saphelp_nw04/helpdata/en/44/79973cc73af456e10000000a114084/content.htm

SOAP Adapter

http://help.sap.com/saphelp_nw04/helpdata/en/69/a6fb3fea9df028e10000000a1550b0/content.htm

Thanks

Prakash

Former Member
0 Kudos

What is the difference between a web service and a web application? I have a secure URL ..is that a web service or web application??

-Teresa

former_member206604
Active Contributor
0 Kudos

Hi,

You cannot say if it is a web app or a web servicce with just a URL. Both Web APP & Web Service can be secured. If you have secured URL better use SOAP adapter with DO NOT USE SOAP ENVELOPE. If you could provide more details about the target system we can help u better.

Thanks,

Prakash

Former Member
0 Kudos

Thank you so much. If I have messages of different interfaces waiting to come inbound from this external web service, how would my soap adapter identify each message and route it according to that interface?

-Teresa

former_member206604
Active Contributor
0 Kudos

Hi,

The inbound address for SOAP messages is: <b>http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel</b>

Under <b>party:service:channel</b> enter the party name, the service name, and the name of the communication channel. If no party has been created, enter the following: <b>channel=:service:channel</b>

So if there are different interface you can have different channels and hence your URL changes for each and every interface.

Thanks,

Prakash

Former Member
0 Kudos

Thanks...So based on the doc the external webserver which is sending the XML messages to XI would send it to the "http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel" for each interface??

Also can this be made a secure URL with HTTPS?

-Teresa

Former Member
0 Kudos

Teresa,

for every sender Message Interfaces that were defined in Integration Repository XI will create some web services whose address just like http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel.

About https, since http adpater in XI seems only support plain Http, I think an extra Adapter supports HTTPs should be installed.

Message was edited by: YiNing Mao

Former Member
0 Kudos

It seems I were wrong.

<b>S-http is supported</b> by XI plain http adapter.

Check the links below.

<a href="http://help.sap.com/saphelp_nw04/helpdata/en/43/64db4daf9f30b4e10000000a11466f/content.htm">Configuring the Sender Plain HTTP Adapter</a>

<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/b2e7020d-0d01-0010-269c-a98d3fb5d16c">How To Configure Message Level Security in SAP XI 3.0</a>

Hope it helps.

former_member206604
Active Contributor
0 Kudos

Hi,

Yes you can

<b>Inbound Security Checks</b>

Select the HTTP security level for inbound messages:

HTTP

HTTPS without client authentication

HTTPS with client authentication

Check out this link

http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/content.htm

Thanks,

Prakash

Former Member
0 Kudos

Thanks..I am giving you all points..:)..Assuming that I am getting inbound messages from a web server application, then do I need to give "http://<hostname:port>/<path>?<query-string>" URL to the external web server who is sending the messages or do I need to set up a seperate webserver in my network to receive the messages?? Would this work as I am trying to work away from a SOAP and use plain HTTP? Is it a good suggesion.

In the case of multiple messages for different interfaces coming to the same URL, how does XI identify and route to the appropriate interfaces? Does it use the query string in the comm. channel to decide?

Any advice is appreciated.

former_member206604
Active Contributor
0 Kudos

Hi,

You can give the URL "http://<hostname:port>/<path>?<query-string>" to the external webserver.

Yes as posted before it identifies with the channel and the service in the URL <b>channel=:service:channel</b>

Thanks,

Prakash

Former Member
0 Kudos

Thanks...This arises a new question for me..If I am using sender soap adapter, would the web service/application need to send a WSDL format or a normal XML sent would be converted into a WSDL by the adapter when it picks it up from the location?? I know its too many questions but your answers have been very helpful.

former_member206604
Active Contributor
0 Kudos

Hi,

The sender application should send it in a SOAP format. You can provide the WSDL from the IR.

Thanks,

Prakash

former_member206604
Active Contributor
0 Kudos

Hi,

If you would like to test your scenario you can either use Altova XML spy or you can download SOAP Client to test your scenario

Downlaod SOAP Client from here

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9b16d790-0201-0010-4e9b-baa...

You can give the URL of your scenario and also the payload (XML) with SOAP envelope

Thanks,

Prakash

Former Member
0 Kudos

Hi,

When I try to define the webservice in the Integration directory for my sender soap interface, I clicked on propose URL and it gave me the URL of the integration engine. Shouldn’t it supposed to be http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel'....

Former Member
0 Kudos

I tried giving the “https://<host>:<port>/XISOAPADAPTER....” link to our external webservice and they could not send us a payload. The network team says the firewall ports are open for the external webservice. But do they need to open the <http port> given in the link?? Isn’t this the http port of the XI server…Or any other adjustments need to be done??

Juan

Answers (0)