11
How-to Guide
SAP NetWeaver 04s
How To
Correlate JMS
Messages
Version 1.20 Dec 2006
Applicable Releases:
SAP NetWeaver 04s SPS10
End-to-End Process Integration
Enabling Application-to-Application Processes
Copyright 2006 SAP AG. All rights reserved.
No part of this publication may be reproduced or
transmitted in any form or for any purpose without the
express permission of SAP AG. The information
contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its
distributors contain proprietary software components of
other software vendors.
Microsoft, Windows, Outlook, and PowerPoint are
registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel
Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400,
iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent
Miner, WebSphere, Netfinity, Tivoli, and Informix are
trademarks or registered trademarks of IBM Corporation
in the United States and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered
trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame,
WinFrame, VideoFrame, and MultiWin are trademarks
or registered trademarks of Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or
registered trademarks of W3C , World Wide Web
Consortium, Massachusetts Institute of Technology.
Java is a registered trademark of Sun Microsystems, Inc.
JavaScript is a registered trademark of Sun Microsystems,
Inc., used under license for technology invented and
implemented by Netscape.
MaxDB is a trademark of MySQL AB, Sweden.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, and other
SAP products and services mentioned herein as well as
their respective logos are trademarks or registered
trademarks of SAP AG in Germany and in several other
countries all over the world. All other product and
service names mentioned are the trademarks of their
respective companies. Data
contained in this document serves informational
purposes only. National product specifications may vary.
These materials are subject to change without notice.
These materials are provided by SAP AG and its affiliated
companies ("SAP Group") for informational purposes
only, without representation or warranty of any
kind, and SAP Group shall not be liable for errors or
omissions with respect to the materials. The only
warranties for SAP Group products and services are those
that are set forth in the express warranty statements
accompanying such products and services, if any.
Nothing herein should be construed as constituting an
additional warranty.
These materials are provided as is without a warranty
of any kind, either express or implied, including but not
limited to, the implied warranties of merchantability,
fitness for a particular purpose, or non-infringement.
SAP shall not be liable for damages of any kind including
without limitation direct, special, indirect, or
consequential damages that may result from the use of
these materials.
SAP does not warrant the accuracy or completeness of
the information, text, graphics, links or other items
contained within these materials. SAP has no control
over the information that you may access through the
use of hot links contained in these materials and does not
endorse your use of third party web pages nor provide
any warranty whatsoever relating to third party web
pages.
SAP NetWeaver How-to Guides are intended to
simplify the product implementation. While specific
product features and procedures typically are explained
in a practical business context, it is not implied that those
features and procedures are the only approach in solving
a specific business problem using SAP NetWeaver. Should
you wish to receive additional information, clarification
or support, please refer to SAP Consulting.
Any software coding and/or code lines / strings (Code)
included in this documentation are only examples and
are not intended to be used in a productive system
environment. The Code is only intended better explain
and visualize the syntax and phrasing rules of certain
coding. SAP does not warrant the correctness and
completeness of the Code given herein, and SAP shall
not be liable for errors or damages caused by the usage of
the Code, except if such damages were caused by SAP
intentionally or grossly negligent.
Table of Contents
1
2
Introduction ............................................................................................... 1
Scenarios.................................................................................................. 2
2.1
2.2
2.3
2.4
BPM Sync/Async Bridge ..............................................................................2
BPM Async/Sync Bridge ..............................................................................4
Sync/Async Bridge in the Receiver JMS Adapter ........................................6
Async/Sync Bridge in the Sender JMS Adapter ...........................................6
The Step-By-Step Solution ....................................................................... 7
3.1
BPM Header-Based Sync/Async Bridge JMS Response Referencing XI
Message ID of Request............................................................................................7
3.2
BPM Header-Based Sync/Async Bridge JMS Response Referencing
JMS Message ID of Request, prior to SPS07 ........................................................12
3.3
BPM Header-Based Sync/Async Bridge JMS Response Referencing
JMS Message ID of Request, as of SPS07 ...........................................................15
3.4
BPM Payload-Based Sync/Async Bridge ...................................................16
3.5
BPM Header-Based Async/Sync Bridge Correlation by using the XI
Conversation ID .....................................................................................................17
3.6
BPM Payload-Based Async/Sync Bridge Correlation by using the XI
Conversation ID .....................................................................................................20
3.7
BPM Header-Based Async/Sync Bridge Correlation by using the XI
Message ID ............................................................................................................21
3.8
Sync/Async Bridge in Receiver JMS Adapter ............................................24
3.9
Async/Sync Bridge in Sender JMS Adapter ...............................................27
1 Introduction
The Java Message Service (JMS) supports asynchronous communication only.
However, a request/response model similar to synchronous communication can be
implemented using a reply queue mechanism and JMS Correlation ID/JMS Message ID.
According to the JMS specification, the usage of the JMS Correlation ID is not
mandatory. In the following scenarios the JMS Correlation ID is used. Therefore, as a
prerequisite the JMS Provider has to support it.
This guide shows how to map asynchronous JMS messages to synchronous
communication. In general, two scenarios are considered:
Sync/async
Async/sync
The purely asynchronous case is not addressed here. For SAP NetWeaver 04s SPS09
and below, Business Process Management (BPM) as part of SAP NetWeaver 04s
Exchange Infrastructure (SAP XI) has to be used, see chapters 2.1 and 2.2. For SAP
NetWeaver 04s SPS10 and above, the JMS adapter provides modules that support
async/sync and sync/async communication, see chapters 2.3 and 2.4. In this case, BPM
is not necessary.
JMS header data can be assigned to XI header data, and the other way around, as
follows:
In the JMS sender adapter, the XI Message ID can be defined as GUID, JMS
Message ID, JMS Correlation ID, or JMS Property. The resulting ID must comply
with ISO-11578. Furthermore, the JMS Provider has to ensure that the ID is
unique, otherwise message processing will fail. The XI Conversation ID can be
defined as JMS Message ID, JMS Correlation ID, JMS Property, or kept
undefined (no value).
In the JMS receiver adapter, the JMS Correlation ID can be defined as XI
Message ID, XI Reference ID (RefToMessageID), XI Conversation ID, or kept
undefined.
In SAP NetWeaver 04s SPS06 and higher, the send step within BPM has been
enhanced. While sending a message, it is possible to set the Conversation ID using XI
header fields, payload data, or constants.
In BPM, you can correlate the asynchronous JMS request and response messages by
referencing either the payload data or the header fields. Header field correlation uses the
enhanced send step, as mentioned above, so it is supported in SAP NetWeaver 04s
SPS06 and higher only.
For the async/sync case, the JMS response message is correlated to the JMS request
message using header-based correlation, i.e. using the JMS Correlation ID. In the
Communication Channel, it is only possible to assign XI header fields to the JMS
Correlation ID, but no payload data (see below). However, if you want to put payload
data into the JMS Correlation ID, you can do so by using the XI Conversation ID. There
are two general mechanisms to configure the correlation within SAP XI, either using the
XI Message ID or using the XI Conversation ID. The former is subject to restrictions with
respect to the XI Message ID, as mentioned above. The latter is supported in SAP
NetWeaver 04s SPS06 and higher. See also SAP Note 838894.
2 Scenarios
2.1
BPM Sync/Async Bridge
A synchronous request message is mapped to an asynchronous JMS request message
by means of the sync/async bridge functionality of BPM. The synchronous call waits until
the JMS provider sends a reply that is mapped to the corresponding synchronous
response.
The JMS response message must be correlated to the JMS request message in order to
assign both messages to the same BPM process instance. As stated above, the
correlation can be established using either payload data or header fields. In general, the
header-based approach uses the XI Message ID to create a unique correlation. Since
the Business Process Engine (BPE) works with different message instances, the XI
Message ID of the outbound message does not correspond to the XI Message ID that
defines the correlation. Therefore, the approach does not work with the XI Message ID
only, it requires the XI Conversation ID to be set within BPM.
Regarding the correlation on the JMS side, two possibilities are considered, either
referencing the XI Message ID or the JMS Message ID of the request message.
In SAP NetWeaver 04s SPS07 and higher, the configuration of how to map the
JMS Message ID to the XI Conversation ID has been changed. There is no need
to use additional parameters, instead standard parameters are provided in the
communication channels. However, the configuration settings made prior to
SPS07 will still be supported. For further details, refer to SAP Note 838894.
For the payload-based correlation, the following settings have to be made (see
chapter 3.4):
Define appropriate correlations in a BPM integration process.
For the header-based correlation with JMS response message referencing the XI
Message ID of the request, the following settings have to be made (see chapter 3.1):
Define a correlation for the responses message interface using the XI
Conversation ID as the correlation key.
BPM integration process, send step (send JMS request):
Activate the correlation using XI Message ID and set XI Conversation ID to XI
Message ID.
BPM integration process, receive step (receive JMS response):
Use the correlation that you activated in the send step.
JMS receiver communication channel (to send JMS request to JMS Provider):
Set JMS Correlation ID to the XI Conversation ID.
JMS sender communication channel (to send JMS response to SAP XI):
Set XI Message ID to GUID, and XI Conversation ID to JMS Correlation ID.
For the header-based correlation with JMS response message referencing the JMS
Message ID of the request, the following settings have to be made if using SAP
NetWeaver 04s SPS06 and below (see chapter 3.2):
Define a correlation for the message interface of the response using XI
Conversation ID as correlation key.
BPM integration process, send step (send JMS request):
Activate the correlation using XI Message ID, and set XI Conversation ID to XI
Message ID.
BPM integration process, receive step (receive JMS response):
Use the correlation that you activated in the send step.
JMS receiver communication channel, correlation settings:
Set JMS Correlation ID to XI Conversation ID.
JMS receiver communication channel, additional JMS parameters:
Maintain additional JMS parameter with Name XIMapConversationID and
Value true to store a mapping between the requests JMS Message ID and XI
Conversation ID.
JMS sender communication channel, correlation settings:
Set XI Message ID to GUID, and XI Conversation ID to JMS Correlation ID.
JMS sender communication channel, additional JMS parameters:
Maintain additional JMS parameter with Name XIConversationID, and Value
XI_COR_XIJMSMAP to map the responses JMS Correlation ID (referencing the
requests JMS Message ID) to the original XI Conversation ID.
For the header-based correlation with JMS response message referencing the JMS
Message ID of the request, the following settings have to be made if using SAP
NetWeaver 04s SPS07 and above (see chapter 3.3):
Define a correlation for the message interface of the response using XI
Conversation ID as correlation key.
BPM integration process, send step (send JMS request):
Activate the correlation using XI Message ID, and set XI Conversation ID to XI
Message ID.
BPM integration process, receive step (receive JMS response):
Use the correlation that you activated in the send step.
JMS receiver communication channel, correlation settings:
Set JMS Correlation ID to XI Conversation ID, and tick the Store
JMSCorrelationId of request indicator in order to save the JMS Correlation ID of
the request.
JMS sender communication channel, correlation settings:
Set XI Message ID to GUID, and XI Conversation ID to Stored JMSCorrelationId
of request.
2.2
BPM Async/Sync Bridge
An asynchronous JMS request message is mapped to a synchronous request message.
Within the BPM integration process, a synchronous call is executed. The return of the
synchronous call is mapped to an asynchronous JMS response message.
Here, no correlation within the BPM integration process is required. Correlation is
established by means of the JMS Correlation ID header field of the JMS response
message that references the JMS request message.
As mentioned above, there are two general approaches for configuring the correlation
within SAP XI, either using the XI Message ID or using the XI Conversation ID.
For the header-based configuration via XI Message ID, the following settings have to be
made (see chapter 3.7):
JMS sender communication channel (to send JMS request to SAP XI):
Set the XI Message ID to JMS Message ID (or optionally to JMS Correlation ID).
BPM integration process:
Set the receiver from mode of asynchronous send step (to send JMS response)
to Response to Message, and reference the request message.
JMS receiver communication channel (to send JMS response to JMS Provider):
Set JMS Correlation ID to XI Reference ID.
For the header-based configuration using the XI Conversation ID, the following settings
have to be made (see chapter 3.5):
JMS sender communication channel (to send JMS request to SAP XI):
Set the XI Message ID to GUID and XI Conversation ID to JMS Message ID (or
optionally to JMS Correlation ID).
BPM integration process:
Set the XI Conversation ID of send step (to send JMS response) to the XI
Conversation ID of request message.
JMS receiver communication channel (to send JMS response to JMS provider):
Set JMS Correlation ID to XI Conversation ID.
To assign payload data of the request message to the JMS Correlation ID, the following
settings have to be made (see chapter 3.6):
In BPM integration process:
Set the XI Conversation ID of send step (to send JMS response) to equal the
appropriate payload field of request message.
JMS receiver communication channel (to send JMS response to JMS Provider):
Set JMS Correlation ID to XI Conversation ID.
In the case of the purely asynchronous case, a JMS request message is sent
asynchronously to a receiver by using SAP XI. The reply has to be correlated to the JMS
request. The implementation is similar to the async/sync case above. Even in this case,
BPM is mandatory for the same reason as stated above: currently, it is not possible to
assign payload data to the JMS Correlation ID within a communication channel.
2.3
Sync/Async Bridge in the Receiver JMS Adapter
A synchronous call is mapped to asynchronous JMS request/response messages by
means of the module processor in the JMS adapter. In the module processor of the JMS
receiver adapter, the synchronous message is converted to an asynchronous request
message and sent to a JMS queue. The synchronous call waits until the JMS provider
sends a reply. In the module processor of the JMS sender adapter, the asynchronous
response message is passed to the module processor of the receiver adapter, and sent
as synchronous response of the waiting synchronous request.
The following settings have to be made (only supported as of SAP NetWeaver 04s
SPS10 and above, see chapter 3.8):
JMS receiver communication channel, correlation settings:
Set JMS Correlation ID to XI Message ID, and tick the Store JMSCorrelationId of
request indicator in order to save the JMS Correlation ID of the request.
JMS receiver communication channel, module settings:
Add module RequestOnewayBean to convert the synchronous request message
to an asynchronous request message. Add module WaitResponseBean to wait
for response message.
JMS sender communication channel, correlation settings:
Set XI Message ID to GUID, and XI Conversation ID to Stored JMSCorrelationId
of request.
JMS sender communication channel, module settings:
Add module NotifyResponseBean to pass response message to the module
processor of the receiver adapter.
2.4
Async/Sync Bridge in the Sender JMS Adapter
Asynchronous JMS request/response messages are mapped to a synchronous call by
means of the module processor in the JMS adapter. In the module processor of the
sender JMS adapter, the asynchronous request message is converted to a synchronous
request message. The synchronous response message is converted to an asynchronous
response message, and sent to the receiver JMS adapter.
The following settings have to be made (only supported as of SAP NetWeaver 04s
SPS10 and above, see chapter 3.9):
JMS sender communication channel, correlation settings:
Set XI Message ID to GUID, and XI Conversation ID to JMS Message ID.
JMS sender communication channel, module settings:
Add module RequestResponseBean to convert the asynchronous request
message to a synchronous request message. Add module
ResponseOnewayBean to convert the synchronous response message to an
asynchronous response message, and to send response to the receiver adapter.
JMS receiver communication channel, correlation settings:
Set JMS Correlation ID to XI Conversation ID.
3 The Step-By-Step Solution
3.1
BPM Header-Based Sync/Async Bridge JMS Response Referencing
XI Message ID of Request
1. Start the Integration Process Editor
in the Integration Builder (Design).
Create a receive step of mode
Opens S/A Bridge to open the
bridge.
2. Create a Correlation.
Assign the XI Conversation ID of the
JMS response message to this
correlation.
3. Create an asynchronous send step
to send the JMS request message.
Assign the XI Message ID of the
JMS request to both the
Conversation ID and the correlation.
4. Create a receive step to fetch the
JMS response message.
Use the correlation created
beforehand. It is filled by the XI
Conversation ID of the JMS
response message.
5. Create a send step of mode Closes
S/A Bridge to close the bridge, and
refer to the receive step that opened
the bridge.
6. Start the Integration Builder
(Configuration).
In the receiver communication
channel, set the JMS Correlation ID
to the XI Conversation ID.
7. In the sender communication
channel, set the XI Conversation ID
to the JMS Correlation ID.
8. In the following, the settings are
verified using different monitoring
tools.
Run the scenario by calling the
process synchronously.
Enter the Business Process Engine
(BPE) Monitoring (transaction
SXMB_MONI_BPE), and check the
correlation. It must contain the XI
Message ID of the JMS request
message.
9. In the BPE Monitoring, check the
Conversation ID of the JMS request
message.
10. Start the Runtime Workbench
(RWB) and navigate to Message
Monitoring for the J2EE Adapter
Engine.
In the Audit Log of the JMS request
message, the correlation-related
information is displayed.
11. Start the JMS Broker. Here,
SonicMQ is used.
For the received message in the
queue, the JMS Correlation ID
contains the XI Message ID of the
JMS request message.
12. Before sending the JMS response
message to the reply queue,
maintain the JMS Correlation ID
accordingly. Here, the JMS
Correlation ID of the JMS request
message is used (references the XI
Message ID).
10
13. In BPE Monitoring you can see that
the JMS response message is
correlated to the appropriate
business process instance.
11
3.2
BPM Header-Based Sync/Async Bridge JMS Response Referencing
JMS Message ID of Request, prior to SPS07
14. Use the same sync/async bridge as
in variant 3.1, that is, keep the
settings for the BPM process
unchanged.
15. Start the Integration Builder
(Configuration).
Maintain the Receiver
Communication Channel as follows:
Set the JMS Correlation ID to the XI
Conversation ID.
Select the Set Additional JMS
Parameters or Replace Default
Settings indicator, and maintain the
parameter with Name
XIMapConversationID, and
Value true.
12
16. Maintain the Sender Communication
Channel as follows:
Set the XI Conversation ID to the
JMS Correlation ID.
Select the Set Additional JMS
Parameters or Replace Default
Settings indicator and maintain the
parameter with Name
XIConversationID, and Value
XI_COR_XIJMSMAP.
17. Run the scenario as described
above.
For the outbound JMS request
message, the JMS Adapter stores
the mapping between the XI
Conversation ID and the JMS
Message ID.
18. Before sending the response
message to the reply queue,
maintain the JMS Correlation ID
accordingly. Here, the JMS Message
ID of the JMS request message is
used.
13
19. For the incoming JMS response
message, the JMS Adapter maps
the JMS Correlation ID (referencing
the requests JMS Message ID) to
the XI Conversation ID using the
stored mapping.
As can be seen in Message
Monitoring (transaction
SXMB_MONI), the XI Conversation
ID contains the requests XI
Message ID that is used for the
correlation within BPM.
20. If the JMS application sends back a
response in which the JMS
correlation ID is not set to the JMS
message ID of the original request,
the XI conversation ID cannot be
determined. Instead, the JMS
correlation ID is set as the XI
conversation ID; however, the BPM
process is then not able to assign
the response correctly.
14
3.3
BPM Header-Based Sync/Async Bridge JMS Response Referencing
JMS Message ID of Request, as of SPS07
Apart from the configuration of the receiver and sender communication channels, all
settings keep unchanged compared to variant 3.2.
21. Start the Integration Builder
(Configuration).
Maintain the Receiver
Communication Channel as follows:
Set the JMS Correlation ID to the XI
Conversation ID.
Set the Store JMSCorrelationId of
request indicator in order to save the
JMS Correlation ID of the request
message.
22. Maintain the Sender Communication
Channel as follows:
Set the XI Conversation ID to Stored
JMSCorrelationId of request
referring to the saved JMS
Correlation ID of the request
message.
15
3.4
BPM Payload-Based Sync/Async Bridge
23. Start the Integration Process Editor
within the Integration Builder
(Design).
For the send step of the JMS
request message, maintain a BPM
correlation using appropriate
payload data.
24. For the JMS response message,
maintain the BPM correlation using
appropriate payload data.
16
3.5
BPM Header-Based Async/Sync Bridge Correlation by using the XI
Conversation ID
25. Start the Integration Process Editor
in the Integration Builder (Design).
For the send step of the JMS
response message, set the
Conversation ID to equal the
Conversation ID of the JMS request
message.
26. Start the Integration Builder
(Configuration).
In the sender communication
channel, set the XI Conversation ID
to the JMS Message ID.
(Alternatively, you can set the XI
Conversation ID to the JMS
Correlation ID).
17
27. In the Receiver Communication
Channel, set the JMS Correlation ID
to the XI Conversation ID.
28. Send a request message to the
sender queue.
(Alternatively, if you have chosen
JMS Correlation ID in the Sender
Communication Channel above,
maintain a unique JMS Correlation
ID before sending the request
message to the sender queue)
18
29. The XI Conversation ID references
the JMS Message ID of the JMS
request message.
30. For the message in the receiver
queue, the JMS Correlation ID
references the JMS Message ID of
the JMS request message.
19
3.6
BPM Payload-Based Async/Sync Bridge Correlation by using the XI
Conversation ID
31. Start the Integration Process Editor
in the Integration Builder (Design).
For the send step of the JMS
response message, set the
Conversation ID to equal any
payload field of the JMS request
message.
32. Start the Integration Builder
(Configuration).
In the Sender Communication
Channel, you dont need to map any
JMS header fields to the XI
Conversation ID. Choose No Value.
33. In the Receiver Communication
Channel, set the JMS Correlation ID
to the XI Conversation ID.
20
3.7
BPM Header-Based Async/Sync Bridge Correlation by using the XI
Message ID
34. Start the Integration Process Editor
in the Integration Builder (Design).
For the send step of the JMS
response message, set the mode to
Response to Message and refer to
the JMS request message.
35. Start the Integration Builder
(Configuration).
In the Sender Communication
Channel, set the XI Message ID to
the JMS Correlation ID.
(Alternatively, you can set the XI
Message ID to the JMS Message ID)
In any case, you have to ensure that
the XI Message ID is unique and
complies with ISO-11578. Otherwise
messaging fails.
21
36. In the Receiver Communication
Channel, set the JMS Correlation ID
to the XI Reference ID
(RefToMessageID).
37. For the message in the sender
queue, enter a valid GUID (see
above) in the JMS Correlation ID.
38. Start the RWB and navigate to
Message Monitoring for the J2EE
Adapter Engine.
In the Audit Log of the JMS
response message, you can see the
correlation rule, the correlated
property, and the correlation value.
22
39. For the message in the receiver
queue, the JMS Correlation ID
references the XI Message ID, and
the JMS Correlation ID of the JMS
request message, respectively.
23
3.8
Sync/Async Bridge in Receiver JMS Adapter
40. Start the Integration Builder
(Configuration).
Maintain the Receiver
Communication Channel as follows:
Set the JMS Correlation ID to the XI
Message ID.
Set the Store JMSCorrelationId of
request indicator in order to save the
JMS Correlation ID of the request
message.
41. Switch to tab Module to add
respective modules in the module
processor in the sequence as shown
in figure on the right side.
Add
AF_Modules/RequestOnewayBea
n module first in the module
sequence.
For the
AF_Modules/RequestOnewayBea
n, maintain parameter with name
passThrough, and value true.
The synchronous request message
is converted to an asynchronous
request message, and passed to the
next module in sequence.
Add
AF_Modules/WaitResponseBean
module last in the module sequence.
The module waits for a response
message.
24
42. Maintain the Sender Communication
Channel as follows:
Set the XI Conversation ID to Stored
JMSCorrelationId of request
referring to the saved JMS
Correlation ID of the request
message.
43. Switch to tab Module to add
respective modules in the module
processor in the sequence as shown
in figure on the right side.
Replace the CallSapAdapter
module by the
AF_Modules/NotifyResponseBe
an module.
The asynchronous response
message is passed to the
WaitResponseBean of the receiver
channel.
44. Start the RWB, and navigate to the
Message Monitoring for the J2EE
Adapter Engine.
According to the Audit Log for the
synchronous request message, the
message processing is as follows:
In the RequestOnewayBean
module the synchronous request
message is converted to an
asynchronous message.
The asynchronous JMS request
message is correlated to the
respective XI message.
The WaitResponseBean module
is called to wait for the
asynchronous response
message. Upon receipt, the
message is sent as synchronous
response to the waiting
synchronous request message.
25
45. The Audit Log for the asynchronous
response message indicates that the
NotifyResponseBean module has
been called to pass the message to
the module processor of the
respective receiver channel.
26
3.9
Async/Sync Bridge in Sender JMS Adapter
46. Start the Integration Builder
(Configuration).
In the JMS Sender Communication
Channel, set the XI Conversation ID
to the JMS Message ID.
47. Switch to tab Module to add
respective modules in the module
processor in the sequence as shown
in figure on the right side.
Add
AF_Modules/RequestResponseB
ean module before the
CallSapAdapter module.
For the
AF_Modules/RequestResponseB
ean, maintain parameter with name
passThrough, and value true.
The asynchronous request message
is converted to a synchronous
request message, and passed to the
next module in sequence, here
CallSapAdapter.
Add
AF_Modules/ResponseOnewayBe
an module after the
CallSapAdapter module.
For the
AF_Modules/ResponseOnewayBe
an, maintain parameters as follows:
name receiverParty with
value <name of receiver
party>
name receiverService with
value <name of receiver
27
service>
name receiverChannel with
value <name of JMS
receiver channel>
The synchronous response
message is converted to an
asynchronous message, and passed
to the specified receiver channel.
48. In the JMS Receiver Communication
Channel, set the JMS Correlation ID
to the XI Conversation ID.
49. Start the RWB, and navigate to the
Message Monitoring for the J2EE
Adapter Engine.
The Audit Log for the request
message indicates that the
RequestResponseBean module has
been called, and a synchronous
message has been passed to the
messaging system.
50. The Audit Log for the response
message indicates that the
ResponseOnewayBean module has
been called.
28
29
http://service.sap.com/nw2004s-howtoguides
30