cancel
Showing results for 
Search instead for 
Did you mean: 

File to IDoc - URL for SOAP sender

PratibhaK
Participant
0 Kudos

Hi,

We have an integration scenario where a non-SAP system is sending an ORDERS05 IDoc to SAP R/3 via SAP PI.

SAP PI will be used just as a pass through for the IDoc.

Hence, we do not have ESR objects. We have configured the ID objects.

When the client is trying to send data on the SOAP url, they are facing 500 Internal server error.

SOAP URL that we are using is:

http://<host name>:<port>/XISOAPAdapter/MessageServlet?channel=:<service name>:<channel name>

Should we use the url:

http://<host name>:<port name>/XISOAPAdapter/MessageServlet?senderParty=<name of the sender party>&senderService=<name of the sender service>&interface=<name of the interface>&receiverParty=<name of the receiver party>&receiverService=<name of the receiver service>&interfaceNamespace=<name of the interface namespace>

Please guide on what the correct SOAP url should be and if there is a need to do the "Dispaly WSDL" step for Sender agreement and share that wsdl wit the client...

Regards,

Pratibha

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

If i am right , client is sending IDOC XML message to XI . If that is the case , then i would suggest 2 solutions :

- Sending data to PI using HTTP conncetions

- Sending data to PI using SOAP connection but dircetly to Integration engine as proposed by Shabarish.

Regards

Vinay P.

Answers (6)

Answers (6)

PratibhaK
Participant
0 Kudos

Hi,

I have configured HTTP sender adapter and shared the URL. Data is now being successfuly received from the non-SAP system.

There is some issue with the non-SAP applicationa and they are working on it.

Thanks,

Pratibha

Former Member
0 Kudos

Error 500 in SOAP sender often means the content-type is not supported by the SOAP adapter. What do they use, text/xml ? And have you checked the communication channel monitoring ? Do you see something there ?

CSY

Former Member
0 Kudos

Hi,

1. Can you check with the Non-Sap system , if they are using the Original URL provided and no additional deployment has taken place to the URL that you shared with Non-Sap system

2. Also check for the Incoming traffic from the Non-Sap system to your Network

3. Make sure the connection exist between both the Networks , also check for any firewalls or DMZ's , if its causing the internal error

iaki_vila
Active Contributor
0 Kudos

Hi Pratbiha,

Please guide on what the correct SOAP url should be and if there is a need to do the "Dispaly WSDL" step for Sender agreement and share that wsdl wit the client..

I recommend you to use the Service registry to share the services with your client. Check this blog in order to learn how work with it:

http://scn.sap.com/people/daniel.graversen/blog/2008/02/27/publish-services-from-pi-71-to-the-servic...

(Also, don't forget to "like" or rate (or both) the blog in case you find it useful.)

Regars.

Shabarish_Nair
Active Contributor
0 Kudos

the URL has to be;

http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel

So i dont think the URL is an issue.

can you check, what message you get when you open the the URL in IE? Do you get a HTTP OK page?

Also check the same at the source application end.

You might also want to check sending the message using SOAPUI and check if it works.

Plus additionally try to use the direct IE URL also bypassing the soap adapter - http://scn.sap.com/people/stefan.grube/blog/2006/09/21/using-the-soap-inbound-channel-of-the-integra...

former_member184681
Active Contributor
0 Kudos

Hi,

In general, sharing the .wsdl file is the easiest way for you to provide the required structures and target URL to the sender. However, same can be achieved without using .wsdl file, if the sender develops everything manually or knows already what is the required structure and URL.

To get the proper target URL, again the easiest way is to have a look at the .wsdl file and read the attribute value: <soap:address location="HERE">. In general, both these URLs should work equally well:

http://<Adapterengine_Host>:<Port_Number>/XISOAPAdapter/MessageServlet?channel=<Sender_Party>:<Sende...

http://<host name>:<port name>/XISOAPAdapter/MessageServlet?senderParty=<name of the sender party>&senderService=<name of the sender service>&interface=<name of the interface>&receiverParty=<name of the receiver party>&receiverService=<name of the receiver service>&interfaceNamespace=<name of the interface namespace>

Regards,

Greg

PratibhaK
Participant
0 Kudos

Hi Greg,

If we use the 2nd URL where we need to mention the Sender service and receiver service as well. But,in case we want to route the data to 2 receivers, so should we not mention any of the receivers in the URL or how will the URL look like?

Please help...

Thanks,

Pratibha