cancel
Showing results for 
Search instead for 
Did you mean: 

Urgent: Idoc sender -> SOAP sync ( webservice -1) -> SOAP sync ( webservice -2) -> Idoc receiver

nmuralicse
Explorer
0 Kudos

Hi Experts,

Anyway we can achieve below scenario without BPM?

Expected flow of steps in BPM:

Idoc sender -> SOAP sync ( webservice -1) -> Mapping { idoc data + webservice-1 respnse --to-- webservice -2 request}. -> SOAP sync ( webservice -2) -> Idoc receiver

Description:

1)From ECC we receive delivery idoc

2)we need to call on webservice to get the session id everytime that we receive new idoc and once we get the key as response

3) we need to merge( multi - mapping) first webservice response and idoc data and map to 2nd webservice request message

4) we will get 2nd webservice response which is final response that we need to send back to ECC using different IDOC asynchronously

Async(idoc1) - sync soap1 - sync soap2- async (idoc2)

Error handling:

If we get error response from receiver in any of 2 soap sync calls then we need to trigger alert email.

Thanks

Murali

FredericGirod
Active Contributor
0 Kudos

You should take a little more time to describe your requierement & your question. It will help people to answer you faster

Accepted Solutions (1)

Accepted Solutions (1)

sugata_bagchi2
Active Contributor
0 Kudos

If you need to use the token/ session id from 1st WS, then you can get that using a soap look up.

I am not sure though, but I think you only need to add that token to the header of the 2nd WS request not the entire response received from 1st WS. so if I understood correctly you design like this -

1. IDoc to SOAP (Web service 2) scenario with one ICO- say ICO1

in this ICO, you will map IDoc to 2nd WS request structure, and in this same mapping you can do a SOAP lookup to get that token.

Use RequestResponse Bean an ResponseOneWay Bean in the SOAP receiver channel to make Async-Sync bridge.In the module parameter use the replaceInterface parameter as true so that you can use the interface in the 2nd scenario.

2. SOAP to IDoc 2nd ICo-

in this scenario you will create an ICO with the sender interface/ namespace provided in the 1st ICO module paramter. And also maintain the Virtual Receiver as your source SAP system.

check this one for RRB and ROB modules -

https://blogs.sap.com/2014/01/28/generic-pi-async-sync-bridge-configuration-for-any-adapters/

This should work, as long as your token process (to get the token) is achievable using SOAP look up.

Thanks

Sugata

nmuralicse
Explorer
0 Kudos

Hi Sugata,

Thanks for your quick help.

If 1st webservice call can be achieved through soap lookup, is it possible to use 2 soap lookups for 2 sync webservice calls in mapping?

Idoc -> mapping( 2 sync soap lookup calls) -> idoc

Thanks

Murali

Answers (1)

Answers (1)

sugata_bagchi2
Active Contributor
0 Kudos

Lookups are actually used for getting data based on the request sent, it is useful and should be used for small set of data. Technically you can use for any size of payload tough.

Using 2 SOAP lookups in one mapping-

1. will increase the complexity of error handling

2. will increase the dev effort- as I think you need to map the response from the 2nd Web service to the receiver IDoc.

Thanks

Sugata