cancel
Showing results for 
Search instead for 
Did you mean: 

iDoc to SOAP scenario: how to resend the (successful) iDoc when the following SOAP call errs?

Former Member
0 Kudos

Hi

I have a scenario, where PI 7.11 receives an iDoc from an SAP system which is being mapped to a SOAP request. The request is signed using the key store values specified in the receiver agreement. The received SOAP response must be mapped to an other (response) iDoc where the values for SNDPOR, SNDPRN, RCVPOR and RCVPRN are picked up from the dynamic configuration from when PI received the first iDoc and placed in the response iDoc.

Right now, I am using an async-sync BPM, but that does not allow me to resend the received iDoc message from PI when the SOAP request call errs, because the reception of the iDoc is successful, because it was delivered successfully to the BPM.

I then thought, that using the RequestResponseBean and the ResponseOnewayBean on the Module tab of the iDoc sender channel would do the trick, but that Module tab is inactive as the iDoc adapter is on the ABAP stack which is not fond of java modules.

My next thought was to make the SOAP call from an UDF in a message mapping and make a reference to a Communication Component and a Communication Channel in the UDF, but because I need to sign the SOAP request a reference to the receiver agreement in the call is necessary, because the reference to the used certificate must be present.

So now I don't know how to resend the received iDocs from PI when the SOAP call errs and still be able to keep track of the SNDPOR, SNDPRN, RCVPOR and RCVPRN values, which need to go into the corresponding iDoc response.

Any suggestions would be warmly welcome.

Best regards

MIkael

Accepted Solutions (0)

Answers (1)

Answers (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

>>>async-sync BPM, but that does not allow me to resend the received iDoc message from PI when the SOAP request call errs, because the reception of the iDoc is successful, because it was delivered successfully to the BPM.

if sync soap call is in error you can always restart it from a ccBPM SXMB_MONI_BPE restart

>>>I then thought, that using the RequestResponseBean and the ResponseOnewayBean on the Module tab of the iDoc sender channel would do the trick, but that Module tab is inactive as the iDoc adapter is on the ABAP stack which is not fond of java modules.

just create two flows:

1. IDOC - File

2. file - sync soap - file with beans

3. file - IDOC

Regards,

Michal Krawczyk