cancel
Showing results for 
Search instead for 
Did you mean: 

correlationID in SOAP channel?

Former Member
0 Kudos

Dear Experts,

I am working on SOAP to SOAP ( 2 receivers)  sync to async scenario, In the ESR i created 1 sync service interfaces (outbound) and 3 async service (1 outbound and 2 Inbound )

I created my 5 SOAP communication channel  ( 1 sender,  2 Soap XI receiver , 2 soap xi sender and 1 soap receiver dummy ), 3 ico ( 1 sync to async (2 receivers) and 2 async dummy soap receiver)

when i exec the interface the channel dummy send a issue  MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessagingException: found no correlation ID

how i can setup correlationID in this integration??

please help me

Thanks,

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

if i understand correctly, the configuration of the communications channels by ICO is:

Ico Sync to async request

Sender sync Soap

AF_Modules/RequestOnewayBean

AF_Modules/WaitResponseBean

AF_Modules/DynamicConfigurationBean

                    key.0 write http://sap.com/xi/XI/System/Messaging messageId

                    value.0 message.messageId

Receivers async soap

AF_Modules/DynamicConfigurationBean

                    key.0 write http://sap.com/xi/XI/System/Messaging messageId

                    value.0 message.messageId

ico async to async

Sender async soap XI

AF_Modules/DynamicConfigurationBean

                    key.0 write http://sap.com/xi/XI/System/Messaging messageId

                    value.0 message.messageId

receiver soap dummy

AF_Modules/DynamicConfigurationBean

                    key.0 read http://sap.com/xi/XI/System/Messaging messageId

                    value.0 message.messageId

AF_Modules/NotifyResponseBean

You can tell me if i am right??

Regards

former_member186851
Active Contributor
0 Kudos

Hello Christian,

Scenario is bit confusing.

And if all the scenarios are interlinked then correlation should be set to interlink all of them.

Former Member
0 Kudos

Sorry

The scenario is an interface sync with 2 receivers async (the receivers have conditions) and the response is with an other ico async..

i develope this scenario with iflow

Sync to Async bridge

                                                              ----------> async soap xi (request) receiver 1

                                                              |            (response ico receiver 1)

                                                              |                                                       

soap Sync  (request - response wait response) ------------>(Condition)

                                                              |

                                                              |

                                                             -----------> async soap xi (request) receiver 2

                                                                           (response ico receiver 2)

(ico receiver 1)

Async (communication channel soap dummy with notify) <---------------async (response)-------- receiver 1

(ico receiver 2)

Async (communication channel soap dummy with notify) <---------------async (response)-------- receiver 2

How to set a correlationID and route the response with the sender soap?

i hope clarify the scenario

Snavi
Active Participant
0 Kudos

Hi Christian,

you can read the messageId of message in mapping of your first ICO and store it in the payload before calling the async SOAP receiver

for reading messageId in mapping go through the link

https://help.sap.com/saphelp_nwpi71/helpdata/en/b3/9a2aeb24dc4ab6b1855c99157529e4/content.htm

In the response ICO , the same messageId need to be passed to correlate with sync initiator.

read the messageId from payload and set it to message.correlationId.

for setting up message.correlationId, please go through the link

https://help.sap.com/saphelp_nw73/helpdata/en/45/da2239feb22e98e10000000a155369/content.htm

once this is done the soap receiver on the response ICO will send the correlation messageId which matches with the waiting request with the same messageId