X4 Produktdokumentation

MQ Series Transfer

The adapter sends and receives messages through an IBM WebSphere MQ message queue, and supports MQ-specific features such as Dynamic Queues.

Properties

Delete

(no function)

File name

(no function)

I/O Mode

(no function)

Operation

Determines which operation will be executed with the message queue.

Possible values:

  • Send: Send data from the previous process step to the MQ queue

  • Receive: Read the message into the process

  • Commit: Complete the transaction.

  • Rollback: Cancel the transaction and undo all changes

  • Create Queue: Create a queue

  • Destroy Queue: Remove the queue

  • Clear: Reset the connection to MQ Series

Parameters

Tip:

Many of the parameters listed in the following table can be set to true or false using a checkbox. These checkboxes have the following behavior:

  • image-20251217-073417.png : The parameter is true.

  • image-20251217-073747.png : The parameter is not set.

  • image-20251217-073810.png : The parameter is false.

alias

Name of the parameter group for external configuration of the adapter via the QueueConfig.xml file (in x4.ear in the conf subfolder). Values specified there have a higher priority than the parameters of the Transfer Adapter process component.

toXML

If the operation is set to Receive: Return the result of the process step as an XML document. If the MQMessage.Format parameter is also set to NONE, the message is Base64 encoded.

Possible values:

  • true: Generate an XML document that contains the header and body of the message with all its properties (see example)

  • false: Generate an MQ message as a result of the process step (default)

ccdtUrl

URL to a Client Channel Definition Table (CCDT)

There are four ways to define the ccdtUrl:

  1. Using the Java arguments -DMQCHLLIB and -DMQCHLTAB when starting the X4 server
    Possible values:

    • -DMQCHLLIB: Path to the table file.

    • -DMQCHLTAB: AMQCLCHL.TAB (IBM default name)

  2. Using the Java argument -Dx4.MQSeries.ccdtUrl
    Example: -Dx4.mqseries.ccdtUrl=file:/// Path_to_table/AMQCLCHL.TAB

  3. Via the ccdtUrl property in the QueueConfig.xml

  4. Via the ccdtUrl parameter in the adapter itself

The above priority is applied.

RemoteQueueManager.
name

Name of the queue manager

Possible values:

  • Any valid string

  • {EMPTY}: Explicitly no value (empty string)

MQEnvironment.hostname

Host name of the addressed MQ server. Applies system-wide within the entire Java VM for all following operations (the parameter is only required for local tests on development systems, otherwise leave blank!).

Possible values:

  • Any string (for example, MQSR2402)

  • {EMPTY}: Explicitly no value (empty string)

MQEnviroment.channel

Name of the channel. Applies system-wide within the entire Java VM for all following operations (only required for local tests on development systems, otherwise leave blank!).

Possible values:

  • Any string (for example, MQSR2402.CLS25740.DT)

  • {EMPTY}: Explicitly no value (empty string)

MQEnvironment.CCSID

CCSID (charset) of all messages for the entire Java VM. Applies system-wide within the entire Java VM for all following operations, so be careful when using it (should not be used!).

Possible values:

  • Any CCSID (e.g. 1208)

  • {EMPTY}: Explicitly no value (empty string)

MQEnviroment.userID

User ID used to authenticate the WebSphere MQ client. Applies system-wide within the entire Java VM for all following operations (only required for local tests on development systems, otherwise leave blank!).

MQEnviroment.
localAddressSetting

MQ-specific parameter. Applies system-wide within the entire Java VM for all following operations (only required for local tests on development systems, otherwise leave blank!).

Possible values:

  • Any valid string

  • {EMPTY}: Explicitly no value (empty string)

MQEnvironment.password

Password used to authenticate the WebSphere MQ client. Applies system-wide within the entire Java VM for all following operations (only required for local tests on development systems, otherwise leave blank!).

Possible values:

  • Any valid string

  • {EMPTY}: Explicitly no value (empty string)

MQEnviroment.port

Port of the MQServer. Applies system-wide within the entire Java VM for all following operations (only required for local tests on development systems, otherwise leave blank!).

Possible values:

  • Any integer (e.g., 1414)

  • {EMPTY}: Explicitly no value (empty string)

MQEnviroment.
properties.MQC.SSL_
CIPHER_SUITE_PROPERTY

CipherSuite configuration for the current connection. The registered CipherSuite must correspond to the CipherSpec used:

CipherSpec and the corresponding CipherSuite

  • NULL_MD5: SSL_RSA_WITH_NULL_MD5

  • NULL_SHA: SSL_RSA_WITH_NULL_SHA

  • RC4_MD5_EXPORT: SSL_RSA_EXPORT_WITH_RC4_40_MD5

  • RC4_MD5_US: SSL_RSA_WITH_RC4_128_MD5

  • RC4_SHA_US: SSL_RSA_WITH_RC4_128_SHA

  • RC2_MD5_EXPORT: SSL_RSA_EXPORT_
    WITH_RC2_CBC_40_MD5

  • DES_SHA_EXPORT: SSL_RSA_WITH_DES_CBC_SHA

  • RC4_56_SHA_EXPORT1024: SSL_RSA_EXPORT1024_
    WITH_RC4_56_SHA

  • DES_SHA_EXPORT1024: SSL_RSA_EXPORT1024_
    WITH_DES_CBC_SHA

  • TRIPLE_DES_SHA_US: SSL_RSA_WITH_3DES_EDE_CBC_SHA

  • TLS_RSA_WITH_AES_128_CBC_SHA: SSL_RSA_WITH_AES_128_CBC_SHA

  • TLS_RSA_WITH_AES_256_CBC_SHA: SSL_RSA_WITH_AES_256_CBC_SHA

  • AES_SHA_US

  • TLS_RSA_WITH_DES_CBC_SHA: SSL_RSA_WITH_DES_CBC_SHA

  • TLS_RSA_WITH_3DES_EDE_CBC_SHA: SSL_RSA_WITH_3DES_EDE_CBC_SHA

  • FIPS_WITH_DES_CBC_SHA: SSL_RSA_FIPS_WITH_DES_CBC_SHA

  • FIPS_WITH_3DES_EDE_CBC_SHA: SSL_RSA_FIPS_
    WITH_3DES_EDE_CBC_SHA

Possible values:

CipherSuite as a valid string

MQEnviroment.
properties.MQC.
TRANSPORT_PROPERTY

Setting for the current connection

Possible values:

MQC.TRANSPORT_MQSERIES: only valid value

MQEnviroment.
properties.MQC.
CCSID_PROPERTY

CCSID (Charset) for the current connection

Possible values:

Any integer (e.g., 1208)

MQEnviroment.
properties.MQC.
USER_ID_PROPERTY

User ID for the current connection

Possible values:

Any string

MQEnviroment.
properties.MQC.
CHANNEL_PROPERTY

Name of the channel for the current connection

Possible values:

Any string (for example, MQSR2402.CLS25740.DT)

MQEnviroment.
properties.MQC.
CONNECT_ OPTIONS_
PROPERTY

Connection options for the current connection

Possible values:

Any string

MQEnviroment.
properties.MQC.
HOST_NAME_PROPERTY

Host name of the addressed MQ server for the current connection

Possible values: Any string (for example, MQSR2402)

MQEnviroment.
properties.MQC.
LOCAL_ADDRESS_
PROPERTY

Local address for the current connection

Possible values:

Any string

MQEnviroment.
properties.MQC.
ORB_PROPERTY

ORB property for the current connection

Possible values:

Any string

MQEnviroment.
properties.MQC.
PASSWORD_PROPERTY

Password property for the current connection setup to authenticate the WebSphere MQ client (corresponds to parameter MQEnvironment.password)

Possible values:

Any string

MQEnviroment.
properties.MQC.
PORT_PROPERTY

Port for the current connection

Possible values:

Any string

MQEnviroment.
properties.MQC.
RECEIVE_EXIT_
PROPERTY

Receive Exit property for the current connection

Possible values:

Any string

MQEnviroment.
properties.MQC.
SECURITY_EXIT_
PROPERTY

Security Exit property for the current connection

Possible values:

Any string

MQEnviroment.
properties.MQC.
SEND_EXIT_PROPERTY

Send Exit property for the current connection

Possible values:

Any string

MQQueueManager.name

Name of the QueueManager. Only necessary for local tests on development systems, otherwise empty.

MQQueue.name

Name of the queue

MQQueue.dynamic
QueueName

Name of the session queue for this message (should not be used in the future)

MQQueue.alternate
UserId

Alternative User ID to check access to the queue when it is open. This parameter cannot be set while the object is open.

MQQueue.openOptions.
MQC.MQOO_OUTPUT

(Must be set for write access)

MQQueue.openOptions.
MQC.MQOO_FAIL_
IF_QUIESCING

Allows the MQ Manager to disconnect the listener (e.g., during shutdown)

MQQueue.openOptions.
MQC.MQDL_SUPPORTED

MQ-specific parameter

MQQueue.openOptions.
MQC.MQOO_ALTERNATE_
USER_AUTHORITY

MQ-specific parameter

MQQueue.openOptions.
MQC.MQOO_ BIND_AS_
QDEF

Apply queue settings for persistence etc. (should always be set)

Possible values:

  • yes: Apply queue settings

  • no: Do not apply queue settings (default)

MQQueue_openOptions.
MQC.MQOO_BIND_
NOT_FIXED

MQ-specific parameter

MQQueue_openOptions.
MQC.MQOO_BIND_ON_
OPEN

MQ-specific parameter

MQQueue.openOptions.
MQC.MQOO_INPUT_AS_
Q_DEF

Einstellungen der Queue zur Persistenz etc. übernehmen (muss beim Lesen immer gesetzt werden)

Possible values:

  • yes: Apply queue settings

  • no: Do not apply queue settings (default)

MQQueue.openOptions.
MQC.MQOO_INPUT_SHARED

MQ-specific parameter

MQQueue.openOptions.
MQC.MQOO_INPUT_
EXCLUSIVE

MQ-specific parameter

MQQueue.openOptions.
MQC.MQOO_INQUIRE

MQ-specific parameter

MQQueue.openOptions.
MQC.MQOO_PASS_ALL_
CONTEXT

MQ-specific parameter

MQQueue.openOptions.
MQC.MQOO_PASS_
IDENTITY_CONTEXT

MQ-specific parameter

MQQueue.openOptions.
MQC.MQOO_SAVE_ALL_
CONTEXT

MQ-specific parameter

MQQueue.openOptions.
MQC.MQOO_SET

MQ-specific parameter

MQQueue.openOptions.
MQC.MQOO_SET_ALL_
CONTEXT

MQ-specific parameter

MQQueue.openOptions.
MQC.MQOO_SET_
IDENTITY_CONTEXT

MQ-specific parameter

MQPutMessageOptions.
options.MQC.MQPMO_
NEW_MSG_ID

MQ-specific parameter

MQPutMessageOptions.
options.MQC.
MQPMO_SYNCPOINT

Use syncpoint when writing

Possible values:

  • yes: Use syncpoint when writing

  • no: Do not use a syncpoint when writing (default)

MQQueue.
closeOptions.MQC.
MQCOO_DELETE

MQ-specific parameter

MQQueue.
closeOptions.MQC.
MQCOO_DELETE_
PURGE

MQ-specific parameter

MQMessage.format

Message format

Possible values:

  • MQC.MQFMT_STRING: Message consists entirely of characters

  • MQC.MQFMT_ADMIN: Command server request/response

  • MQC.MQFMT_COMMAND1: 1 command server response message of type 1

  • MQC.MQFMT_COMMAND2: 2 command server response message of type 2

  • MQC.MQFMT_DEAD_LETTER_HEADER: Dead-letter header

  • MQC.MQFMT_EVENT: Event

  • MQC.MQFMT_NONE: No format name, no conversion takes place (i.e. the bytes are delivered in their original form); if the toXML parameter is also activated, the message is Base64-encoded

  • MQC.MQFMT_PCF: User-defined message in Programmable Command Format

  • MQC.MQFMT_TRIGGER: Trigger message

  • MQC.MQFMT_XMIT_Q_HEADER: Transmission Queue Header

  • (No value): Do not convert (equivalent to MQC.MQFMT_NONE) (default)

MQMessage.
applicationIdData

MQ-specific parameter

MQMessage.
application
OriginData

MQ-specific parameter

MQMessage.
backoutCount

MQ-specific parameter

MQMessage.
messageFlags.MQC.
MQMT_REQUEST

MQ-specific parameter

MQMessage.
replyToQueueName

Name of the ReplyToQueue for this message

MQMessage.
replyToQueueManager
Name

Name of the ReplyToQueueManager for this message

Possible values:

Any string

MQMessage.
characterSet

Charset (CCSID) for the message. When reading: The expected charset. When writing: The charset that gets the message.

Possible values:

Any CCSID (e.g. 1208)

MQMessage.
correlationId

CorrelationID with a length of 24 bytes (this is Base64-encoded as well as the returned MessageID)

Possible values:

Any 32-character string containing a 24-byte Base64-encoded CorrelationID

MQMessage.encoding

Character encoding of the message

MQMessage.expiry

Time in tenths of a second after which the message becomes invalid and is deleted from the queue.

Possible values:

Any integer

MQMessage.Feedback

MQ-specific parameter

MQMessage.groupId

MQ-specific parameter

MQMessage.messageId

MQ-specific parameter

MQMessage.
messageSequence
Number

MQ-specific parameter

MQMessage.message
Type

MQ-specific parameter

MQMessage.offset

MQ-specific parameter

MQMessage.
originalLength

MQ-specific parameter

MQMessage
.persistence

MQ-specific parameter

MQMessage.priority

MQ-specific parameter

MQMessage.
putApplicationType

MQ-specific parameter

MQMessage.report

MQ-specific parameter

MQMessage.userId

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_SYNCPOINT

Use syncpoint when receiving messages (required for Commit and Rollback operations)

Possible values:

  • yes: Use syncpoint when receiving

  • no: Do not use a syncpoint when receiving (default)

MQGetMessageOptions.
options.MQC.
MQGMO_WAIT

Wait while reading if there is no message in the queue

MQGetMessageOptions.
options.MQC.
MQGMO_NO_WAIT

Do not wait while reading if there is no message in the queue and cancel immediately

Possible values:

  • yes: Do not wait and abort immediately

  • no: Wait (default)

MQGetMessageOptions.
options.MQC.
MQGMO_ACCEPT_
TRUNCATED_MSG

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_BROWSE_FIRST

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_BROWSE_MSG
_UNDER_CURSOR

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_BROWSE_NEXT

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_CONVERT

Enable automatic conversion to MQ

Possible values:

  • yes: Enable conversion

  • no: No conversion (default)

MQGetMessageOptions.
options.MQC.MQGMO_
FAIL_IF_QUIESCING

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_LOCK

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_MSG_UNDER_
CURSOR

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_NONE

Ignore all other GetOptions

Possible values:

  • yes: Ignore all other GetOptions

  • no: Do not ignore other GetOptions (default)

MQGetMessageOptions.
options.MQC.MQGMO_
MARK_SKIP_BACKOUT

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_NO_SYNCPOINT

Disable syncpoint

Possible values:

  • yes: Deactivate syncpoint (no transaction is possible)

  • no: Do not deactivate syncpoint (default)

MQGetMessageOptions.
options.MQC.MQGMO_
SYNCPOINT_IF_
PERSISTENT

Use syncpoint if the message is marked as persistent

Possible values:

  • yes: Use syncpoint for persistent messages

  • no: Do not use a syncpoint for persistent messages (default)

MQGetMessageOptions.
options.MQC.MQGMO_
UNLOCK

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_ALL_MSGS_
AVAILABLE

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_ALL_SEGMENTS_
AVAILABLE

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_COMPLETE_MSG

MQ-specific parameter

MQGetMessageOptions.
options.MQC.
MQGMO_LOGICAL_ORDER

MQ-specific parameter

MQGetMessageOptions.
matchOptions.MQC.
MQGMO_MATCH_
CORREL_ID

MQ-specific parameter

MQGetMessageOptions.
matchOptions.MQC.
MQGMO_MATCHGROUP_ID

MQ-specific parameter

MQGetMessageOptions.
matchOptions.MQC.
MQGMO_MATCH_MSG_ID

MQ-specific parameter

MQGetMessageOptions.
matchOptions.MQC.
MQGMO_MATCH_MSG_
SEQ_NUMBER

MQ-specific parameter

MQGetMessageOptions.
matchOptions.
MQC_MQGMO_NONE

MQ-specific parameter

MQGetMessageOptions.
waitInterval

Time in milliseconds that is waited for reading when there are no messages in the queue (see parameter MQGetMessageOptions.options.MQC.MQGMO_WAIT). Message reception will not be canceled if it started during the wait interval.

Possible values:

Any positive integer

MQGetMessageOptions.
resolvedQueueName

MQ-specific parameter

For more information about the MQ-specific parameters, see https://www.ibm.com/docs/en/ibm-mq/8.0?topic=java-mqenvironment.


Status values

1

The operation was successful.

0

The operation has been executed successfully, but without a result.

-1

The operation failed due to a technical error.


Example

The generated XML document, if the Operation property is set to Receive, has the following structure:

<document>
<header>
   <CorrelationID>AAAAAAAAAAAAAAAAAAAAA</CorrelationID>
   <MessageID>QU1RIFFNX3NwX2Nvbm5lYxvAdUQgC9sH</MessageID>
   <MessageSequenceNr>1</MessageSequenceNr>
   <MessageFormat>MQSTR</MessageFormat>
   <ReplyToQueue/>
   <ReplyToQueueMngr>QM_sp_connect</ReplyToQueueMngr>
   <backoutCount>0</backoutCount>
</header>
<body>Message</body>
</document>


For more information about the MQ-Series-specific parameters, see the WebSphere MQ – Using Java documentation in Chapter 9 The WebSphere MQBase Java classes and interfaces from its manufacturer IBM.