Skip to Content

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

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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Jul 30, 2013 at 09:59 AM

    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.

    Add comment
    10|10000 characters needed characters exceeded

  • Jul 30, 2013 at 10:06 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

    • 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