Skip to Content
avatar image
Former Member

Sync/Async communication with JMS Receiver

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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • avatar image
    Former Member
    Nov 04, 2009 at 10:01 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

    Add comment
    10|10000 characters needed characters exceeded