cancel
Showing results for 
Search instead for 
Did you mean: 

Configuration for Response to be send using client proxy in synchronous scenario

former_member6134
Participant
0 Kudos

Dear Experts,

   I am trying out a scenario as follows:

External web server------> PI ------------> SAP R/3 in synchronous way. Traditionally we have used RFC's at the R/3 side. But in this scenario I am trying to use use the proxies instead of RFC's. For receiving the data I am using server proxy on the inbound service interface and while sending the data i am writing a client proxy code by generating the client proxy on the outbound service interface of the PI server.

I am suceesful in getting the data inside the R/3 system using server proxy. The data is processed and we generate two fields ie customer no and reference no as the return field. I would like to send these two field to the external web server.  The communication channel that I have set up is as follows:

1) SOAP sender Interface for sending the data from external web server to R/3

2) XI Adapter receiver interface for receiving the data in R/3 ie for server proxy.

I have generated the web service and the link for that web service is shared with the external web server administrator. He is consuming that web server and sending the data in SAP R/3 system. The same data is processed and in return we would like to send the two fields [customer no and reference no] to web server from R/3 system.

My query is what configuration should I use for receiver agreement ie which communication channel should i use in Receiver Comunication Channel? Should I use the same through which I receiver the data ie in server proxy. But then how it will be able to send the data to external web server as response. Since the external web server should get the response structure throuigh the web service link that I have shared with them.

Should I create a seperate channel for communication then the whole design of the scenario changes. Can somebody guide me on this as to whether it is techncally feasible to achieve a synchronous scenario using proxies ie server proxies to receive and client proxy to send the data in one scenario.

Would appreciate if somebody can share info on this type of scenario .....

Thanking You

With Best Regards

Suhas

Accepted Solutions (0)

Answers (2)

Answers (2)

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

The configuration would be the same as an asynch scenario e.g External WS -> PI -> Proxy except that you are using synchronous messages. The response message will be sent to the sender using the hoplist in the SOAP Header of SXMB_MONI). This is done automatically for synch messages, as such there is no need for a separate configuration.

Hope this helps,

Mark

former_member6134
Participant
0 Kudos

Hi Mark,

   

The receiver agreement has been configured with the receiver communication channel which is used to get the data in R/3 ie using XI Adapter.

When I am triggering the scenario ie generating the request from the SOAP Adapter I am getting the status of transaction as shown in Image. ie for request I am getting two response one as Synchronous type and other as asynchronous type.

The sender interface for the synchronous type response is inbound type interface and immediately below that one more response in red colour of type asynchronous is shown with the outbound type interface.

I am confused as to from where the asynchronus type of response is generated at the outbound interface SI_OUT_SYNC....  and in this response there is a return value payload which is supposed to be send to web server.

Can you guide me?

Thanks

With Best Regards

Suhas

Former Member
0 Kudos

Hi Suhas,

Your scenario is synchronous, both Outbound and Inbound Interface should be synchronous and you need to perform Request and Response Message Mappings and assign both mappings in Operation mappings.  Once you generate the proxy to the Inbound Interface you can both Import and Export Structures in Sproxy.  Take the help from ABAPer to write the code.

Check the below link for Proxy Generation and code example.

http://saptechnical.com/Tutorials/XI/Proxy/SS2.htm

You need assign Receiver Communication Channel type XI in Receiver Agreement.  Select Quality of Service as Best Effor in Sender SOAP Channel.

You can receive and send data back to WebService in one scenario only.

Thanks,

Satish.

former_member6134
Participant
0 Kudos

Hi Satish,

      Thanks for your reply. I went through the details of the link send by you for  Proxy Generation and code example. But in the current context, the server proxy is written on the inbound interface and the client proxy has been generated on the outbound interface of the scenario. The objects generated in the client proxy has been used in the Abap Report which does the processing of the data received in R/3 from server proxy.

The Outbound and Inbound Interface are defined as synchronous and the Request and Response Message Mappings are also done with the assignment of both mappings in Operation mappings as suggested by you.

The SI_OUT_SYNC type of interface is used on the SOAP side and SI_IN_SYNC type of interface is used on the R/3 side.

Also the receiver communication channel has been configured with the receiver communication channel which is used to get the data in R/3 ie using XI Adapter.

When I am triggering the scenario ie generating the request from the SOAP Adapter I am getting the status of transaction as shown in Image. ie for request I am getting two response one as Synchronous type and other as asynchronous type.

The sender interface for the synchronous type response is inbound type interface and immediately below that one more response in red colour of type asynchronous is shown with the outbound type interface.

I am confused as to from where the asynchronus type of response is generated at the outbound interface SI_OUT_SYNC....  and in this response there is a return value which is supposed to be send to web server.

Can you guide me?

Thanks

With Best Regards

Suhas

zameerf
Contributor
0 Kudos

Hi,

May be you should take help from the ABAPer to see how the proxy code works and why is it calling back the other outbound async interface and sending message to PI.

Regards,

Zameer