How to enable dynamic invocation of an endpoint with an
unwired MQ data binding import, using SMO.
Introduction
You can invoke services using
endpoints that are different to those specified in the import. For
MQ bindings, you can specify a dynamic endpoint using a URI that conforms
to an MQ URI standard.
Figure 1. Illustration of endpoint override by dynamic invocation
using SMO, with unwired import
You create a mediation module that includes the dynamic
endpoint, by performing tasks in WebSphere® Integration Developer.
Representing the MQ endpoint
The MQ endpoint
used in the dynamic invocation is structured using a subset of the
MQ URI standard.
For dynamic invocation, the MQ endpoint must
have a URI with the form:

>>-wmq:/msg/queue/--queueName--+-------+-----------------------><
'-@qmgr-'
In each URI, the
queueName and
optional destination queue manager
qmgr override
the destination queue specified on the import binding.
Examples of a valid MQ URIs are:
wmq:/msg/queue/queueName
wmq:/msg/queue/queueName@qmgr
Creating a dynamic invocation with an MQ endpoint
To
create a mediation module that includes the dynamic endpoint, perform
the following tasks:
- Create the Mediation Module, containing an Export, a mediation
flow component, and an unwired MQ Import. The export is of any type.
- Connect the Mediation Module import to static SvcProvider 1.
- Create SvcProvider 2.
- Check that SvcProvider 1 and SvcProvider 2 have the same port
type.
- Check that the Import is configured to route messages to SvcProvider
1.
- Check that the callout node has dynamic endpoint invocation override
enabled.
- Deploy the modules to the server.
Using dynamic invocation
Dynamic invocation
takes place when the export is invoked with a message containing a
target import, routing criteria that resolve to SvcProvider 2, and
a target import. The mediation flow component extracts the endpoint
and the target import from the message, and puts them into the SMO,
using the Message Element Setter primitive. The callout uses information
from the SMO to invoke SvcProvider 2. Any response is returned by
the response flow to the caller of export.
The callout uses
information from the SMO to invoke SvcProvider 2. Any response is
returned by the response flow to the caller of export.
A one-way
invocation message works the same way as a two-way message, except
that no response message is returned.
A runtime exception occurs
when any one of three conditions is true:
- The URI has invalid syntax.
- The target import specified does not exist.
- SvcProvider 2 is not available.
A runtime exception thrown by the import is returned in the
response flow.