Configuring Request/Reply Services
The Request/Reply service delivers a message to a specified queue, and retrieves a corresponding response message.
For more information about adapter services, see
Request/Reply Services. You configure
WebSphere MQ Adapter services using
Designer.
![*](icon_task_xpe.png)
To configure a Request/Reply service
2. Start Designer.
3. Using Designer, perform the following:
a. Right-click the package in which the service should be contained and select New > Adapter Service.
b. Select the parent namespace and type a name for the adapter service.
c. Click Next.
4. Select WebSphere MQ Adapter as the adapter type and click Next.
5. Select the appropriate Adapter Connection Name and click Next.
Important:
![*](chapterTOC_bullet.png)
The Request/Reply service requires a non-transactional connection, and does not support transactional connections because it sends a request message and waits for a reply message before the service returns to
Integration Server.
![*](chapterTOC_bullet.png)
In addition, if you are using the adapter with
Integration Server 8.0 SP1 or earlier, adapter services cannot use connections that are also used for adapter listeners.
6. From the list of available templates, select the Request/Reply template and do the following:
Select a package and folder to contain the service, type a unique name for the service, and click Finish.
The adapter service editor for the Request/Reply service appears. You can select the Adapter Settings tab at any time to confirm adapter service properties such as Adapter Name, Adapter Connection Name, and Adapter Service Template, as necessary.
7. Select the Request/Reply tab to identify message processing features to use with this adapter service.
Specify values for the following fields:
Field | Description/Action |
Wait Interval (msec) | The time period that the service waits for a reply message to appear on the queue. Enter this value in milliseconds. Default: 60000 |
Dead Letter Queue Name | The name of the queue that will contain any messages that could not reach their destination. If you do not specify a value for this field, then WebSphere MQ Adapter will: ![*](chapterTOC_bullet.png) Not do anything with an undeliverable inbound (Reply) message. ![*](chapterTOC_bullet.png) Write an undeliverable outbound (Request) message to the system dead letter queue (SYSTEM.DEAD.LETTER.QUEUE) for that queue manager. |
Dead Letter Queue Manager Name | The name of the queue manager for the dead letter queue. |
Headers to include in Dead Letter Message | Select which headers to include in the message sent to the dead letter queue: None Includes any headers along with the original payload in the message sent to the dead letter queue. DLH Includes only the DLH header along with the original payload in the message sent to the dead letter queue. MQMD Includes only the MQMD header along with the original payload in the message sent to the dead letter queue. DLH_&_MQMD Includes both DLH and MQMD headers along with the original payload in the message sent to the dead letter queue. Default: DLH_&_MQMD Note: If you are using a Request/Reply service configured using WebSphere MQ Adapter, the service refers to the watt property watt.WmMQAdapter.deadLetterMessageHeaders. If this watt property is not set, then WebSphere MQ Adapter sets Headers to include in Dead Letter Message parameter to a default value DLH_&_MQMD. |
Backout Threshold | The number of times the service will attempt to send the Request message or receive the Reply message before it is sent to the dead letter queue. For example, specify 2 to attempt to send the message twice Default: 1 |
Open Queue in Shared Mode? | Select how the queue should be opened: Checked In shared mode, allows simultaneous access to the queue by other applications. Unchecked In exclusive mode, prevents simultaneous access to the queue by other applications. Default: Checked |
Convert Application Data? | Select whether the service converts the message to the local character set and encoding: Checked Converts the messages read using this service to the local character set and encoding. Unchecked Does not convert the messages read using this service to the local character set and encoding. Default: Checked Note: If the property is checked and the message format does not match the local character set and encoding, a warning message appears. Note: If you are using a Request/Reply service configured using WebSphere MQ Adapter, the default value is Checked. |
Throw Exception on Failure? | Select whether the service should throw an exception on failure: Checked Throws an exception when the adapter service returns error codes. Unchecked Returns any error codes or error messages to the service's output signature. Default: Checked |
8. Select the MQMD Header tab to specify which msgHeader property fields and constant values the service will use.
Use the following icons to manage the rows in the MQMD Header tab:
![*](chapterTOC_bullet.png)
Select the
![](../webspheremq-webhelp/images/table_insertrow.gif)
icon (or the Fill in all rows to the
![](../webspheremq-webhelp/images/append_all_rows.gif)
icon) to define new input or output field names.
![*](chapterTOC_bullet.png)
If necessary, use the
![](../webspheremq-webhelp/images/btn_shift_up.gif)
or
![](../webspheremq-webhelp/images/btn_shift_down.gif)
icons to change the order of the input or output fields to ensure the parameters are parsed in the correct order.
![*](chapterTOC_bullet.png)
Use the
![](../webspheremq-webhelp/images/remove_row.gif)
icon to delete input field names or output field names.
The msgHeader property fields that you select from the Input Field Name column appear on the Input/Output tab in the Input signature for this adapter service. The msgHeader property fields that you select from the Output Field Name column appear on the Input/Output tab in the Output signature for this adapter service.
You can add the following msgHeader property fields to the Input Field Name column and the Output Field Name column. In the Constant Value column, specify values for the default property fields. Also, you can override the property fields at run time, using the Pipeline Editor. However, you cannot modify certain "output only" properties, such as PutDate and PutTime.
Note:
An asterisk * indicates that you can enter these properties either as a string or as a byte array. For example, AccountingToken and AccountingTokenByteArray refer to the same msgHeader property. If you specify values for both properties, then the byte array value will be used.
msgHeader Property | Data Type | Maximum Field Length for Constant Value |
AccountingToken* | String | 32 alphanumeric single-byte characters |
AccountingTokenByteArray* | Byte Array | 32 bytes |
ApplIdentityData | String | 32 alphanumeric single-byte characters |
ApplOriginData | String | 4 alphanumeric single-byte characters |
BackoutCount | String | 4 digits |
CodedCharSetId | String | 4 digits Note: If this field is left blank, then WebSphere MQ Adapter enters a default value of MQCCSI_Q_MGR. |
CorrelId | String | 24 alphanumeric single-byte characters Note: The MsgId value in the Request message maps to the CorrelationID in the Reply message. |
CorrelationIdByteArray | Byte Array | 24 bytes |
Encoding | String | 4 digits Note: If this field is left blank, then WebSphere MQ Adapter enters a default value of 00273 - Native. |
Expiry | String | 4 digits |
Feedback | String | 4 digits Note: If this field is left blank, then WebSphere MQ Adapter enters a default value of MQFB_NONE. |
Format | String | 8 alphanumeric single-byte characters Note: If this field is left blank, then WebSphere MQ Adapter enters a default value of NONE. |
GroupId* | String | 24 alphanumeric single-byte characters |
GroupIdByteArray* | Byte Array | 24 bytes |
MsgFlags | String | 4 digits Note: If this field is left blank, then WebSphere MQ Adapter enters a default value of NONE. |
MsgId | String | 24 alphanumeric single-byte characters Note: The MsgId value in the Request message maps to the CorrelationID in the Reply message. |
MsgIdByteArray | Byte Array | 24 bytes |
MsgType | String | 4 digits Note: If this field is left blank, then WebSphere MQ Adapter enters a default value of Datagram. |
MsgSeqNumber | String | 4 digits |
Offset | String | 4 digits |
OriginalLength | String | 4 digits |
Persistence | String | 4 digits Note: If this field is left blank, then WebSphere MQ Adapter enters a default value of Not Persistent. |
Priority | String | 4 digits Note: If this field is left blank, then WebSphere MQ Adapter enters a default value based on the default priority of the queue. |
PutApplName | String | 24 alphanumeric single-byte characters |
PutApplType | String | 4 digits |
PutDate | String | 8 digits |
PutTime | String | 8 digits |
ReplytoQueueMgr | String | 48 alphanumeric single-byte characters |
ReplyToQ | String | 48 alphanumeric single-byte characters Important: ReplyToQ is a required field. |
Report | String | 4 digits |
UserIdentifier | String | 12 alphanumeric single-byte characters |
9. Select the JMS Properties tab to identify the optional JMS property fields for the adapter service. The JMS property fields appear on the Input/Output tab in the Output signature document for this adapter service.
Use the following icons to insert or delete rows:
![*](chapterTOC_bullet.png)
Select the
![](../webspheremq-webhelp/images/table_insertrow.gif)
icon (or the Fill in all rows to the
![](../webspheremq-webhelp/images/append_all_rows.gif)
icon) to define new JMS property fields.
![*](chapterTOC_bullet.png)
If necessary, use the
![](../webspheremq-webhelp/images/btn_shift_up.gif)
or
![](../webspheremq-webhelp/images/btn_shift_down.gif)
icons to change the order of JMS property fields to ensure the parameters are parsed in the correct order.
![*](chapterTOC_bullet.png)
Use the
![](../webspheremq-webhelp/images/remove_row.gif)
icon to delete any JMS property fields.
You can add the following optional JMS property fields:
JMS Property | Data Type |
JMSDestination | String |
JMSExpiration | String |
JMSPriority | String |
JMSDeliveryMode | String |
JMSCorrelationID | String |
JMSCorrelationIDByteArray | Byte Array |
JMSReplyTo | String |
JMSType | String |
JMSMessageID | String |
JMSTimestamp | String |
JMSRedelivered | String |
JMSXGroupID | String |
JMSXGroupIdByteArray | Byte Array |
JMSXGroupSeq | String |
JMSXUserID | String |
JMSXAppID | String |
JMSXDeliveryCount | String |
MCDMessageDomain | String |
MCDMessageSet | String |
MCDMessageFormat | String |
Note:
An "X" in the JMS property name indicates that the property is provider specific. The remaining JMS properties are generic, delivered by any JMS provider.
You can also add your own folders and properties to the JMS Properties.
Use the following icons to manage the rows for User-Defined Properties on the JMS Properties tab:
![*](chapterTOC_bullet.png)
To define new folders and properties, select the
![](../webspheremq-webhelp/images/table_insertrow.gif)
icon.
![*](chapterTOC_bullet.png)
Enter the new folder and property. For example, enter "jms.usr.usr1". The "jms" and "usr" are the names of the folders and "usr1" is the name of the property.
All the folders and properties you add will be under JMSProperties as part of the output signature of the adapter service.
Note:
The property name has to be prefixed with a folder name. You cannot use "JMSProperties" and "mcd" as the first folder name.
![*](chapterTOC_bullet.png)
The property name has to be prefixed with a folder name. You cannot use "JMSProperties" and "mcd" as the first folder name.
![*](chapterTOC_bullet.png)
To change the order of User-Defined property fields to ensure the parameters are parsed in the correct order, use the
![](../webspheremq-webhelp/images/btn_shift_up.gif)
or
![](../webspheremq-webhelp/images/btn_shift_down.gif)
icons.
![*](chapterTOC_bullet.png)
To delete any User-Defined property fields, use the
![](../webspheremq-webhelp/images/remove_row.gif)
icon.
When using Designer, Designer contains only the Adapter Settings and Input/Output tabs. The information from the Audit and Permissions tabs appears in the Properties panel, and the information from the Results tab appears in the Service Results panel in Designer. For more information, see the webMethods Service Development Help for your release.
10. From the File menu, select Save.