on 07-30-2013 9:40 AM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
User | Count |
---|---|
84 | |
10 | |
9 | |
8 | |
6 | |
6 | |
6 | |
5 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.