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"
    

Parent topic: WCF Custom channel features and capabilities