cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronous Scenario Interface- SOAP to Proxy and Proxy to SOAP

former_member309269
Participant
0 Kudos

Dear All,

I have a requirement  to develop a synchronous interface in PI. Flow will be:

SOAP to Proxy and Proxy to SOAP

Requirement:

First 3rd party will send message to PI, PI will transmit the same message to ECC through proxy. After looking into the request, ECC system will fetch the details from the database and then send the data to PI and then to 3rd party (the message will have different structure which means that the fields are entirely different from that of the request message received from 3rd party->PI->ECC meaning that the request and response structure is different).

Basically, for the request message from 3rd party->PI->ECC, in PI request mapping both the source and target structure will remain same as PI will be sending the same information coming from 3rd party to ECC.

For the response message from ECC->PI->3rd party, In PI response mapping both the source and target structure will remain same as PI will be sending the same information coming from ECC to 3rd party

Now, I have the below questions in regards to ESR part. Here is my stand, please provide your inputs in case I am wrong

1.  I can create 1 service interface in which I will assign request and response xsd.

2. I will create 1 operation mapping (In request mapping, I will have the message mapping in which i can have the request xsd in both source and target side as it will be direct map) Similarly, In response mapping, I will have the message mapping in which i can have the response xsd in both source and target side as it will be direct map)

3. In the operation mapping, source and target interface will remain same created in 1st step.

4. Regarding the wsdl to be shared with 3rd party team, can i share the wsdl of service interface created in 1st step. Will that serve the purpose? or wsdl has to be shared for request message only but here our service interface has both request and response xsd's.

I want to know the steps which I mentioned above are correct or not for setting up this synchronous scenario. Please provide your valuable inputs

Regards,

Amita

Accepted Solutions (1)

Accepted Solutions (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Amita,

A few comments:


1.  I can create 1 service interface in which I will assign request and response xsd.

You need to create two service interfaces. One for outbound and one for inbound. The request and response messages will be exactly the same between the two. Only the direction will be different.


2. I will create 1 operation mapping (In request mapping, I will have the message mapping in which i can have the request xsd in both source and target side as it will be direct map) Similarly, In response mapping, I will have the message mapping in which i can have the response xsd in both source and target side as it will be direct map)

3. In the operation mapping, source and target interface will remain same created in 1st step.

Since this is a direct mapping, there is no need to create a request/response message mapping and even an operation mapping. The service interfaces should suffice.


4. Regarding the wsdl to be shared with 3rd party team, can i share the wsdl of service interface created in 1st step. Will that serve the purpose? or wsdl has to be shared for request message only but here our service interface has both request and response xsd's.

The wsdl created in step 1 (outbound) should be shared to the third party. But please take into account that the request message structure will come from them while the response message structure will come from you.

Hope this helps,

Mark

former_member309269
Participant
0 Kudos

Hi Mark,

Thanks a lot for your inputs. Need below clarification:

1.  I can create 1 service interface in which I will assign request and response xsd.

You need to create two service interfaces. One for outbound and one for inbound. The request and response messages will be exactly the same between the two. Only the direction will be different.

[Amita]- If I understand it correctly, you mean that for outbound service interface created we need to assign request and response message structure/xsd to it.

Also, the same request and response message structure/xsd will have to be assigned to inbound service interface.

Please confirm if my understanding is correct.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Amita,

That is correct.

Regards,

Mark

former_member309269
Participant
0 Kudos

Hi Mark,

Thanks for confirming.

In regards to the build and configuration, this is what my understanding is:

For request message (3rd party->PI->ECC)

1. Create 1 service interface containing request and response message structure in it

2. In configuration, the same service interface name created in step 1 above will be used in the receiver interface in the receiver agreement and the sender interface in the sender agreement.

Now for response message (ECC->PI->3rd party)

a. Create 1 service interface with a different name containing the same request and response message structure created earlier for request message scenario i.e. (3rd party->PI->ECC).

b. Here the service interface name created in step a will be used in interface determination and receiver agreement (sender agreement not required as the response is from ECC through proxy)

When it comes to sharing the wsdl with 3rd party, that we can share it via sender agreement of request message. 3rd party should be able to send and receive the messages after that.

Please confirm if my understanding is correct or some changes are required.

Thanks,

Amita

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Amita,

You are almost there


In regards to the build and configuration, this is what my understanding is:

For request message (3rd party->PI->ECC)

1. Create 1 service interface containing request and response message structure in it

2. In configuration, the same service interface name created in step 1 above will be used in the receiver interface in the receiver agreement and the sender interface in the sender agreement.

The service interface in step 1 will be used in the sender agreement, receiver determination and interface determination (as the source interface).


b. Here the service interface name created in step a will be used in interface determination and receiver agreement (sender agreement not required as the response is from ECC through proxy)

The service interface will be used inside the interface determination created for step 1. It will also be used in the receiver agreement. All-in-all configuring a synchronous scenario is exactly the same as you would do in an async scenario

As for the wsdl, either you use the one in the sender agreement or you use Integration Directory -> tools -> display wsdl.

Regards,

Mark

former_member309269
Participant
0 Kudos

Hi Mark,

Thanks a lot for confirming. Now I am good to go .

I think that for the service interface which will be used inside the interface determination created for step 1 below, you meant for step a instead of step1.

As for the response message from ECC->PI->3rd party, we will have a different service interface name as compared to service interface name from 3rd party->PI->ECC

Response message (ECC->PI->3rd party)

a. Create 1 service interface with a different name containing the same request and response message structure created earlier for request message scenario i.e. (3rd party->PI->ECC).

b. Here the service interface name created in step a will be used in interface determination and receiver agreement (sender agreement not required as the response is from ECC through proxy)

b. Here the service interface name created in step a will be used in interface determination and receiver agreement (sender agreement not required as the response is from ECC through proxy)

[Mark] The service interface will be used inside the interface determination created for step 1. It will also be used in the receiver agreement.

Regards,

Amita

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Amita,

Ooops, sorry about that. Thank you for correcting

Regards,

Mark

maheswarareddykonda
Active Contributor
0 Kudos

Hi Amita,

below link will probably help you to configure synchronous interfaces in SAP PI.

SAPTechnical.COM - Implementation of SOAP to JDBC Synchronous scenario

everything configuration is same and except JDBC channel...you can just use Proxy channel instead JDBC.

BR,
Maheswarareddy

Answers (0)