cancel
Showing results for 
Search instead for 
Did you mean: 

SAP PI - Create SOAP URL for another channel

arkesh_sharma
Active Participant
0 Kudos

Hi Experts,

I have a receiver SOAP Adapter in which I am trying to call the URL of another sender SOAP Adapter but it looks like the URL I have configured isn't working out.

I am getting an error:

"SOAP: Response message contains an errorXIServer/UNKNOWN/ADAPTER.JAVA_EXCEPTION -
com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.adapter.xi.routing.RoutingException: InterfaceDetermination did not yield any actual interface"

Can you please guide me what is going wrong?

URL Format I am using:

http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=:<BusinessComponentOfTargetSOAPChannel>:<C... _channel>&amp;Sender.Service=<BusinessComponentOfTargetSOAPChannel>&amp;Interface=<InterfaceNamespace>:<InterfaceName>

For Example if I am using the URL:

http://xyz.abc.com:50000/XISOAPAdapter/MessageServlet?channel=:BC_SOAP_Sender:SOAP_Sender_Adapter&am...

Called Interface: SOAP_Async_Out

Called Namespace: http://abc.com/SOAP/SOA

Called Business Component: BC_SOAP_Sender

Channel Name: SOAP_Sender_Adapter

I am also getting a proper response when I paste this URL in the browser stating that "Message Servlet is in Status OK" which means the format of my URL is correct.

It would be helpful if someone can help me out in this regard?

Thanks,

Arkesh

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

Hi Arkesh,

The "Called Interface" is the interface corresponding to the Sender SOAP Adapter which I am mentioning in my Receiver SOAP Adapter's URL. Isn't that correct?

It's right.

Recently i did a scenario like yours and i had similar problem, but finally the reason was in the configuration itself.

Check thess steps:

1. The channel SOAP which call the other SOAP PI channel (CC wich calls) use the format  1 as Jens sayd.

2. Leave in blank the checkbox DO NOT USE SOAP ENVELOPE. (CC wich calls)

3. Use the Configure User Autentication with a PI user, of course. Use the internal port 50000. In my case i had an external URL to call to PI with port 80 and i had some problems. (CC wich calls)

4. Depends of your XI/PI version check the Sender SOAP channel called. Pay attention namespace and interface name.

Regards.

Message was edited by: Iñaki Vila

JaySchwendemann
Active Contributor
0 Kudos

Some things that came into my mind:

1. If you use the first style, use Java Port (often 50000 for http). If you use the second style link, use ABAP Port (often 8000 for http).

2. About the "Do not use soap envelope that Iñaki mentioned. If your calling system does not support the use of a soap envelope you should check this box in the channel configuration. You then should also specify "&nosoap=true".

Cheers

arkesh_sharma
Active Participant
0 Kudos

Hi Jens,

The PI Server is on a single java stack. So, I dont think the ABAP Port setting will work in my case.

Someone had a similar scenario configured on the local SAP PI system from where I copied the link. The link had a similar format as I posted in my question. Someone told me that link was working.

When I used the same format in my scenario, it didnt work.

I now realise that the format itself that I am using is incorrect.

Thanks,

Arkesh

iaki_vila
Active Contributor
0 Kudos

Hi Arkesh,

Attach screenshoots of your scenario, skip the bussines information or do another similar with test names and test namespaces, of course. A thousand eyes see more than two

Regards.

JaySchwendemann
Active Contributor
0 Kudos

I second Iñaki here:

Best post a screenshot of your configuration szenario especially the interface determination. Either there's a mismatch within interface mapping in ESR that yields to a not working interface determination or you have a non working condition in interface determination.

Regards

Jens

Answers (2)

Answers (2)

abhradeepbasu
Participant
0 Kudos

Hi Arkesh,

Your called Interface and the interface by which you are sending has to be same in structure. Try using  abstract interfaces and see the results.

arkesh_sharma
Active Participant
0 Kudos

Hi Abhradeep,

The "Called Interface" is the interface corresponding to the Sender SOAP Adapter which I am mentioning in my Receiver SOAP Adapter's URL. Isn't that correct?

Thanks,

Arkesh

abhradeepbasu
Participant
0 Kudos

Hi Arkesh,

Correct but I think those two structures have to be same. Please find below the design flow if this helps you. If you are following the similar kind of flow then your receiver adapter link would be something like:

http://<server>:<port>/XISOAPAdapter/MessageServlet?channel=<Party>:<Service>:<SOAP Sender channel name>

Let me know howis the flow that you are working on.

/AB

arkesh_sharma
Active Participant
0 Kudos

Hi Abhradeep,

Thank You for your response.

You diagram reflects the same scenario that I have.

I have two ICOs configured. The SOAP receiver of the first ICO calls the SOAP Sender of the second ICO. Both the Receiver and the Sender SOAP Channels have the same data format structure.

The link format you provided doesn't work out for me. It says "InterfaceDetermination did not yield any actual interface"

Thanks,

Arkesh

JaySchwendemann
Active Contributor
0 Kudos

Hi Arkesh,

I got two points to consider

  1. It seems you are mixing two styles of URLs (see http://help.sap.com/saphelp_nwpi711/helpdata/en/48/3555240bea31c3e10000000a42189d/content.htm).
    1. http://hostname:portname/XISOAPAdapter/MessageServlet?channel=partyname:service name:channelname
    2. http://hostname: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
  2. Please try Tools --> Test configuration and have a look what's going wrong there

It seems that PI could not find a suitable interface.

arkesh_sharma
Active Participant
0 Kudos

Hi Jens,

Thank You for your response.

The link was helpful.

I tried with the first simple URL but it didn't work out for me.

I will try with the second URL and get back to you.

Thanks,

Arkesh