cancel
Showing results for 
Search instead for 
Did you mean: 

URL for PO while migrating XI channel

arijit_mukherjee2
Participant
0 Kudos

Dear Experts,

We had a PI to PI connection where customer used to post the XI messages to our PI system using URL: https://host:port/sap/xi/engine?type=entry . We had the sender XI channel configured in our PI system to receive the messages from our customer. Now we are migrating to PO single stack system and as there are no XI adapter available, we need to use the SOAP adapter with XI message protocol at the sender channel I believe. Now my question is would the URL pattern be changed to https://host:port/XISOAPAdapter/MessageServlet?ximessage=true and customer needs to use this new URL  pattern to post the messages? Or customer can continue using old URL pattern to post the message to our PO system. Please advise.

Thanks

Arijit

Accepted Solutions (1)

Accepted Solutions (1)

engswee
Active Contributor
0 Kudos

Hi Arijit

The new SOAP-based URL that you listed above is the correct one moving forward. You can no longer use the old URL as that is based on an SICF service in the ABAP stack. You can confirm this by putting the URL in a web browser, it will display a "resource does not exist" page.

Rgds

Eng Swee

arijit_mukherjee2
Participant
0 Kudos

Hi Eng Swee,

Thanks for your feedback. I also thought so and I got exactly the same while checking from browser. But I wanted to be confirmed and tried to test that by posting a message from another PI system we have using the SOAP based URL in the receiver channel of sender PI system. But that is failing. See below.

Sender PI system(receiver channel config):

Receiver PO system(Sender channel config):

But while I run the test, I get Error 500 on the receiver channel of the sender PI system. Any thoughts??

Thanks

Arijit

engswee
Active Contributor
0 Kudos

Hi Arijit

I simulated your scenario by setting up a PI to PI connection between my Dev system and QA system. I also hit the same HTTP 500 error which was not descriptive at all.

However, I managed to resolve it by adding a Virtual Receiver in the iFlow of the receiving PI system.

Let me share below how I came to the resolution.

Since there was an error on the receiver channel of the sending system, and no error in the sender channel of the receiving system, I needed to check what was being sent out to see if it was correct.

To achieve this, I used this handy blog by . I configured the receiver channel to send to the test server and checked the logged there.

As part of the log, it displays the SOAP header with the XI 3.0 routing content. As you can see below, both the sender and receiver details are included in the SOAP header.

As such, I need to add the corresponding virtual receiver in the receiver systems iFlow so that this message can be routed correctly there.

The scenario I built is a simple one using the same component for both sender and receiver. For your case, you will need to change it accordingly.

Hope this helps.

Rgds

Eng Swee

arijit_mukherjee2
Participant
0 Kudos

Hi Eng Swee,

Even I am using the virtual receiver in receiving system, I am still getting error. See below.

Sender system configs:

Sender Communication Component Name:Srv_TEST_SOAP

Receiver Communication Component Name:Srv_TEST_SOAP

Receiving System Config:

Sender Communication Component Name:SRV_TEST_PROXY

Receiver Communication Component Name:SRV_TEST_FILE

I have the put the Virtual Receiver Component as Srv_TEST_SOAP because that what going out from sender system.

Do you have any idea what could be wrong? Thanks

Arijit

engswee
Active Contributor
0 Kudos

Hi Arijit

From your receiver system ICO screenshot, the Sender Communication Component is SRV_TEST_PROXY which does not match the value in the SOAP Header. You can try adding Header Mapping in the sender system ICO to force the SOAP header value to be SRV_TEST_PROXY for the value of Sender Communication Component.

You should check your existing config prior to migration, I'm sure it also uses a combination of header mapping on the sender side and virtual receiver on the receiver side.

Rgds

Eng Swee

arijit_mukherjee2
Participant
0 Kudos

Hi Eng Swee,

Thanks a lot for trying to overcome the issue with me. Basically I was still facing the problem after doing the header mapping. Then I identified that the Interface Name and Namespace should also be same as source system. That resolved the issue.

Thanks

Arijit

Former Member
0 Kudos

Hi Arijit,

Glad to know that it's working now. just want to make sure how the resolution configured and more info about virtual receiver.

First header mapping configured in sender PI system to change (mask) the system details to match what configured in receiving PI system:

Sender Communication component in Sender PI system: Srv_TEST_SOAP -> SRV_TEST_PROXY

Receiver Communication component in Sender PI system: Srv_TEST_SOAP -> SRV_TEST_FILE

Then make sender & receiver interface and namespace the same in both sender PI and receiver PI systems.


I am wondering the above changes is enough to help message find corresponding ICO in receiver PI system. is below configuration still required in receiver PI system?

Virtual receiver: Srv_TEST_SOAP

Since explanation of header mapping and virtual receiver from the SAP help portal, seems these 2 features are used for mask purpose in B2B scenario, particularly, the virtual receiver is used to mask the response message from target systems to source systems.


Thanks a lot for any comment and more details on virtual receiver played in this case.


Regards,

Hailong

arijit_mukherjee2
Participant
0 Kudos

Hi Hailong,

Please refer and let us know if that resolves your query.

Thanks

Arijit

Former Member
0 Kudos

Thanks Arijit, so you have set virtual receiver in the receiving PI the same as the receiver communication component(SRV_TEST_FILE) in header mapping of sender PI system.

Now I am clear about your setup but still not quite clear about the virtual receiver...

Since I don't have 2 PI systems to simulate this, could you please share the general error when neither the receiver component in header mapping nor virtual receiver in the receiving PI are configured?

Thanks again.

Regards,

Hailong

arijit_mukherjee2
Participant
0 Kudos

Hi Hailong,

Yes you are correct. I have used the Header Mapping in Sender System and Virtual Receiver at Receiver System.

You should get HTTP-500 error on the sender system in case you have not mentioned them.

Thanks

Arijit

Answers (0)