on 11-03-2009 10:38 AM
Hi all,
I am working on one Sync/Async model without BPM. Sender is RFC which is expecting some response, but we know receiver jms doesnt support response message directly. For this i used modules provided by SAP.
While developing interface i used below objects.
One Outbound Synchronous interface--> for Sender RFC channel
Inbound Synchronous Interface----->for Receiver JMS Channel
outbound asynchronous interface--->for Sender JMS channel
one request mapping and one response mapping
Operational mapping between outbound Synchronous to inbound synchronous.
ID Objects:
2 sender agreements: one with sender jms channel
one with sender rfc channel
1 receiver agreement: with jms receiver channel
1 receiver determination
1 interface determination
In receiver jms and sender jms channels i used modules as specified in the document http://help.sap.com/saphelp_nw04/helpdata/EN/45/20d2b4c20a0732e10000000a155369/content.htm
But my interface is not working end to end successfully.
Please confirm below points
1)do i need to have other external application put response message to response queue or will the MQ automatically generates the response message and put into response queue
2)In receiver jms channel is it ok if i will put response queue(Q2) name in the field JMS ReplyTo Queue Name or do i need to put in the form queue://<ReplyToQMgr>/<ReplyToQ>
3). what is the format of data type for asynchronous outbound interface which i used for sender agreement of jms sender channel.
4). Do i need to do any other special settings at MQ settings in MQ server.
Note: i am using PI7.1 and i selected the option JMS-compliant for target client in jms channels.
Thanks,
Madhu
Edited by: Madhusudana Reddy on Nov 4, 2009 9:38 AM
1)do i need to have other external application put response message to response queue or will the MQ automatically generates the response message and put into response queue
The following information is available in SAP note-
Message correlation implies correlating a response message with a request message. With respect to the JMS adapter, this means that you sent have sent a message through a JMS receiver channel to some JMS queue (say queueA) , some external application processes this message and puts the response onto another JMS queue(say queueB) which is then picked up by a JMS sender channel. You need to relate this response message with the original request message.
In the simple case, for all JMS compliant providers this can be done in a straightforward manner:
a) In the JMS receiver channel configuration, set the JMSCorrelationID to the XIMessageID. (or some other XI header which is applicable)
b) Ensure that your external application does not change the value of the JMSCorrelation
c) In the JMS sender channel configuration, set the XIConversationID to the JMSCorrelationID
d) The XIConversationID header of the response XI message now contains the XIMessageID of the request XI message.
For some providers such as Websphere MQ in legacy/native mode this is not so straightforward.
Do i need to do any other special settings at MQ settings in MQ server.
If your using Websphere MQ, refer que#4 in sap note :1086303
Edited by: nagarjuna _s on Nov 4, 2009 11:02 AM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.