cancel
Showing results for 
Search instead for 
Did you mean: 

Payload based sync/async bridge

Former Member
0 Kudos

This is my scenario: ABAP -> XI -> MQ -> XI -> ABAP

I want to use the message content to be the correlation key, it means ABAP sends a message with order no.="ORDER1" to MQ and MQ will reply a message contains order no.="ORDER1". Then XI will use this message from MQ to reply to the sync ABAP program. Is it possible ?

I read this document "How-to Correlate JMS 1.20" to build a sync/async bridge (XI is 3.0 SP17)

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be...

First, I followed 3.1 to build a "header based" sync/async bridge. It's ok, I can see a message id in the field "JMSCorrelationID" in MQ tool. (I didn't test reply). And then I checked 3.4 in the document and want to build a "payload based".

There are only 2 steps in this document

1. I modified the correlation to the order no. field of request message in the send step.

2. I modified the correlation to the order no. field of reply message in the correlation editor.

Is it ok ? Because when I ran the ABAP program again, I still see the same JMSCorrelationID in MQ?

Accepted Solutions (1)

Accepted Solutions (1)

prabhu_s2
Active Contributor
0 Kudos

is the correlation id set as constant from abap? if this is the case then u cannot have different correlation id other than ORDER1....everytime u run the interface u will see the same correlation id only

Message was edited by:

Prabhu S

Former Member
0 Kudos

Thanks, so, the correlation id is encoded. I think I can see "ORDER1" originally. I changed it to "ORDER2" and see another correlation id and I changed it back to "ORDER1" and I see the original correlation id. I think the configuration of ABAP -> XI -> MQ should be correct now.

Now my problem is MQ -> XI -> ABAP. I manually put a message with order no.="ORDER1" in the reply queue. XI got it, but show the error message in workbench.

"XI inbound processing failed for message at 2007-03-28|18:15:22.464+0800. JMS and XI identifiers for message are ID:414d51204d495453303153305420202045a35b480003f722 and 3cf8ed80-dd15-11db-a560-0017a47618a6 respectively. JMS adapter will rollback database and JMS session transactions"

Both of the messages are not the encoded "ORDER1" and when I press refresh in workbench, the 2nd id in the error message is always changed. Is there any suggestion for it ? thanks.

prabhu_s2
Active Contributor
0 Kudos

not much sure on this but i hope that the correlation id shud be the same through the entire processing of that message...

Former Member
0 Kudos

Thanks for your reply, could you help for the 2 questions?

1. Did I miss any step ? I followed the document 3.1 and 3.4, I didn't do any other test.

2. I manually put a message in the reply with order no. field = "ORDER1", is it correct ?

Former Member
0 Kudos

HI,

Did you configured in Communication channel, correlation settings.

Check as per your requirement?

Chilla

Former Member
0 Kudos

Yes, I followed the document (3.1) to configure the communication channel. The document (3.1) is for header based, I didn't change anything for payload based. Should I change anything ?

Former Member
0 Kudos

Hi,

Plz change it as for payload based ,bcz your requirement is that.

Regards

Chilla

Former Member
0 Kudos

I know I should change communication channel, but what should I change ? The document doesn't describe about it. For the receiver channel, I think it's correct and I didn't change it. For the sender channel, I set the XI message id to GUID and about the conversation id, there are 4 options, "No value", "JMS message id", "JMS correlation id" and "JMS Property". I tried "JMS message id" and "JMS correlation id", both of them are not worked.

Answers (0)