endpoint

Description

(MQ) specifies the general syntax and processing for endpoint for WebSphere MQ. Individual options are described in the functions and stored procedures that accept an endpoint argument.

NoteJMS endpoints are opaque to Adaptive Server, and are not inspected for correctness or validity. Instead, they are sent directly to the JMS provider.

Syntax

service_provider_uri ::= provider_name?qmgr=qmgr_name,destination 
	provider_name ::= local_name | full_name 
		local_name ::= identifier 
		full_name ::= service_provider_class:service_provider_url 
			service_provider_class ::= ibm_mq 
			service_provider_url ::= [channel]/tcp/hostname(port)
				channel ::= channel_name[(channel_security)]
					channel_name ::= identifier 
					channel_security ::= ssl:SSLCIPH=channel_ciph
					channel_ciph ::= identifier
					hostname := identifier 
					port ::= integer 
qmgr_name ::= identifier 
destination ::= [remote_qmgr,]queue=queue_name 
	remote_qmgr ::= remote_qmgr=remote_qmgr_name 
		remote_qmgr_name ::= identifier
		queue_name ::= identifier 

Parameters

local_name

is the name of a registered publisher or subscriber.

qmgr_name

is the name of a MQ queue manager. MQ limits the length of a queue manager name to 48 characters (bytes).

ibm_mq

defines the service provider class. It can be uppecase or lowercase.

channel_name

is optional for Adaptive Server 15.0.2 ESD #1 and later, and is the name of the MQ server-connection channel. MQ limits the length of a channel name to 20 characters (bytes). If you do not define channel_name, Active Messaging uses the server-connection channel “SYSTEM.DEF.SRVCONN” to connect to the queue manager.

channel_security

is the security property of the channel. If you do not specify channel_security, Adaptive Server communicates with WebSphere MQ without any security protocols. The valid value for channel_security is ssl.

channel_ciph

works with channel_security, and specifies the SSLCIPH property value of the server connection channel, and must be a valid CipherSpec value for a WebSphere MQ client. The valid values for channel_ciph are

Table 3-23: Valid CipherSpec names for channel_ciph

CipherSpec name

Hash algorithm

Encryption algorithm

Encryption bits

  1. On OS/400, available when either AC2 or AC3 is installed.

  2. On OS/400, available only when AC3 is installed.

  3. Not available for z/OS.

  4. Not available for OS/400.

  5. Specifies a 1024-bit handshake key size.

  6. Not available for Windows.

  7. Available only for AIX, HP-UX, and Linux for Intel platform.

  8. Available only for OS/400, AC3..

NULL_MD5 1

MD5

None

0

NULL_SHA 1

SHA

None

0

RC4_MD5_EXPORT 1

MD5

RC4

40

RC4_MD5_US 2

MD5

RC4

128

RC4_SHA_US 2

SHA

RC4

128

RC2_MD5_EXPORT 1

MD5

RC2

40

DES_SHA_EXPORT 1

SHA

DES

56

RC4_56_SHA_EXPORT1024 3, 4, 5

SHA

RC4

56

DES_SHA_EXPORT1024 3, 4, 5, 6

SHA

DES

56

TRIPLE_DES_SHA_US 4

SHA

3DES

168

TLS_RSA_WITH_AES_128_CBC_SHA 7

SHA

AES

128

TSL_RSA_WITH_AES_256_CBC_SHA 7

SHA

AES

256

AES_SHA_US 8

SHA

AES

128

tcp

is the transport protocol, and it can be uppercase or lowercase. Specify tcp to communicate with MQ through SSL.

hostname

is the host name of the machine where the MQ listener is running.

port

is the port number where the MQ listener is listening.

NoteYou cannot exceed 264 bytes in the combined length of hostname(port).

queue_name

is the name of a MQ queue. MQ limits the length of a queue name to 48 characters (bytes).

remote_qmgr_name

is the name of remote MQ queue manager that contains the target queue definition. MQ limits the length of a queue manager name to 48 characters (bytes). When using:

  • msgsend – if you omit this option, the local queue manager is used to locate the queue objects. Omit this option to benefit from workload balancing a cluster queue.

  • msgreceive – Adaptive Server ignores this option.

Unlike with JMS support, you cannot specify a user name and password with the endpoint. MQ checks the authority of the related OS login. See “MQ security”.

Examples

Example 1

Sends a message to the queue manager, where the communication is through the SSL-enabled CH1 channel, and the cipher suite is NULL_MD5:

select msgsend('e',
    'ibm_mq:CH1(ssl:sslciph=NULL_MD5)/tcp/linuxxml1:1105?qmgr=MASTER_QM1,
    queue=Q2')

Example 2

Sends the message, “hello world 1” to a local queue, which is already available on the queue manager once MQ is installed:

select msgsend('hello world 1',
    'ibm_mq:channel1/tcp/host1(5678)?qmgr=QM1,
    queue=SYSTEM.DEFAULT.LOCAL.QUEUE')

Example 3

Sends the message, “hello world 2” to a queue:

select msgsend('hello world 2', 
    'ibm_mq:channel2/tcp/host2(5678)?qmgr=QM2,
    queue=SYSTEM.DEFAULT.QUEUE')

Example 4

Sends the message, “hello world 3” to a queue:

select msgsend('hello world 3', 
    'ibm_mq:channel2/tcp/host2(5678)?qmgr=QM2,
    remote_qmgr=QM3,queue=QM3.Q')