cancel
Showing results for 
Search instead for 
Did you mean: 

R3 (RFC Asynch) --> XI <---> SOAP (webservice Synch)

0 Kudos

Hi Experts,

My scenario is :R3 (RFC Asynch) > XI <-> SOAP(webservice is synch)

Step1:- R3 sends the data webservie(SOAP) via XI.

Step2:- Webservice returns the response to XI, But R3(RFC) does not need the resoponse.

how to handle the webservice response in XI.

do i need to use BPM as this scenario is R3(RFC synch) > XI <--> Webservice(soap, synch). Can anybody help me out how to design this scenario.

Thanks,

Siva

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

If iam wrong please correct me.

You mean you don't want your response message to get updated in R/3 is that your question.

Thanks

Vikranth

former_member200962
Active Contributor
0 Kudos

Hi Siva,

1)No need of using a BPM.

2)when you are defining the message interface for XI---SOAP communication make the message interface as asynchronous and select that message from the webservice/wsdl file which will be used to send details to the webservice.

3)If you want to use a BPM then you can follow the following steps:

a) Receive the message from SAP(async)

b)Send the message to WebService(sync/async).

c)If sync then you will receive the response.

d)If you are using sync-send then include a control step after the sync-send and in there select Cancel Process.

Do let me know if you need anymore details.

Regards,

Abhishek.

Do reward points if suggestion found helpful.

Shabarish_Nair
Active Contributor
0 Kudos

Do an async call to the WS. In any case you dont need to get back the response or have any use with it.

you will have to specify, QualityOfSerivce = ExactlyOnce in the adapter (if it has the option.. not sure on this) and also have a async message interface.

0 Kudos

Hi Shabarish Vijayakumar ,

Thanks for your information, we do not have any option for SOAP recever adapter to make Exaclty once.

Thx

Siva

Former Member
0 Kudos

Hi ,

No need to use BPM. You can drop the response at SAP XI.

Reagrsd,

Kishore

0 Kudos

Kishore,

May i know how to map return message from webservice to XI. Can you please tell more detail if possible.

thanks

siva

Shabarish_Nair
Active Contributor
0 Kudos

So then all u need is to create a async inbound MI. Also the WS should be configured in a way that it sends a HTTP 200 with a SOAP envelope with an empty content for successful delivery.

Refer the below from the SOAP adapter FAQ;

Receiver Asynchronous Calls

  • Q: What are the correct receiver options for asynchronous calls?

A: The processing mode of the receiver is determined by the message that reaches the receiver. If you are sending a message with some quality of service, to provide this service of quality to the server, your must make sure two things. First, your receiver channel must be configured to pass the XI message ID to the server. Second, your web service must check duplicates using this message ID.

  • Q: What should my web service return to the adapter for asynchronous calls?

A: Currently, the receiver adapter expects an HTTP 200 with a SOAP envelope with an empty content for successful delivery. Any other response will result in a XI system error and triggers retries of the message. When you want to check duplicates, you should configure your receiver channel to pass the XI message header information to the server.

Prior to SP11, a SOAP fault resulted in the application or system error, depending on whether the SOAP fault contained a detail child element or not. This behavior contradicted the communication model. Therefore, it has been changed so that the adapter generates the system error for any SOAP fault in asynchronous calls.

When you want to check duplicates in your web service, you should configure your receiver channel to pass the XI message header information to the server. When your web service indeed find a duplicate, assuming that the previous message was simply lost, your web service should return an HTTP 200 with an empty SOAP envelope.