WCF URI parameter names and values

URI parameter names and values for the SOAP/JMS interface and Non-SOAP/Non JMS interface.

SOAP/JMS interface

connectionFactory
The connectionFactory parameter is required.
initialContextFactory
The initialContextFactory parameter is required and must be set to "com.ibm.mq.jms.Nojndi" for compatibility with WebSphere® Application Server and other products.

Non-SOAP/Non JMS interface

The URI format is as for the MA93 specifications. See SupportPac - MA93 for further details of the IBM® MQ IRI specifications.

IBM MQ URI syntax
wmq-iri = "wmq:" [ "//" connection-name ] "/" wmq-dest ["?" parm *("&" parm)]
connection-name = tcp-connection-name / other-connection-name
tcp-connection-name = ihost [ ":" port ]
other-connection-name = 1*(iunreserved / pct-encoded)
wmq-dest = queue-dest / topic-dest
queue-dest = "msg/queue/" wmq-queue ["@" wmq-qmgr]
wmq-queue = wmq-name
wmq-qmgr = wmq-name
wmq-name = 1*48( wmq-char )
topic-dest = "msg/topic/" wmq-topic
wmq-topic = segment *( "/" segment )
IBM MQ IRI example
The following example IRI tells a service requester that it can use a IBM MQ TCP client-binding connection to a machine called example.com on port 1414 and put persistent request messages to a queue called SampleQ on queue manager QM1. The IRI specifies that the service provider will put replies to a queue called SampleReplyQ.
1)wmq://example.com:1414/msg/queue/SampleQ@QM1?
ReplyTo=SampleReplyQ&persistence=MQPER_NOT_PERSISTENT
2)wmq://localhost:1414/msg/queue/Q1?
connectQueueManager=QM1&replyTo=Q2&connectionmode=managed
For TLS enabled connections
To make Secured (TLS) connections using the WCF Client/Service, set following properties with appropriate values in the URI. All the properties that are prefixed with "*" are mandatory to make a secured connection.
  • sslKeyRepository: *SYSTEM or *USER
  • * sslCipherSpec: a valid CipherSpec, for example TLS_RSA_WITH_AES_128_CBC_SHA256.
  • sslCertRevocationCheck: true or false.
  • sslKeyResetCount: a value greater than 32kb.
  • sslPeerName: the distinguished name of the server certificate
For example:
"wmq://localhost:1414/msg/queue/SampleQ?
connectQueueManager=QM1&sslkeyrepository=*SYSTEM&sslcipherspec=
TLS_RSA_WITH_AES_128_CBC_SHA&sslcertrevocationcheck=true&"sslpe
ername=" + "" + "CN=ibmwebspheremqqmm&sslkeyresetcount=45000"