IBM Integration Bus, Version 9.0.0.8 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

HTTP listeners

You can choose between broker-wide listeners and integration server (embedded) listeners to manage HTTP messages in your HTTP or SOAP flows. Learn about the two types of listener, how ports are assigned to them, and how you can switch from one to the other for individual integration servers.

Your choice of listener affects message flows that handle inbound web service requests and synchronous replies by using the following nodes: Message flows that do not handle inbound requests but that instigate outbound requests or asynchronous responses by using the following nodes are not affected:

For more information about how your choice of listener relates to your HTTP topology, see Configuring your HTTP topology.

Integration server (embedded) listeners

Each integration server has an embedded listener. The listener is associated with an HTTPConnector object and an HTTPSConnector object. The HTTPConnector object controls the runtime properties that affect the handling of HTTP messages. For example, run the following command to change the port on which the embedded listener for integration server default on broker myBroker listens for HTTP messages:
mqsichangeproperties myBroker -e default -o HTTPConnector 
  -n explicitlySetPortNumber -v 8085 

The HTTPSConnector object controls the runtime properties that affect the handling of HTTPS (HTTP Secure) messages. Run the following command to display these properties for integration server default on broker myBroker:

mqsireportproperties myBroker -e default -o HTTPSConnector -r

For further details, including more examples, see Integration server HTTP listener parameters (SOAP and HTTP nodes).

By default, SOAPInput, SOAPReply, and SOAPAsyncResponse nodes use the integration server listener. If integration server default on broker myBroker is using the broker-wide listener, the following command returns a value of false:
mqsireportproperties myBroker -e default -o ExecutionGroup -n soapNodesUseEmbeddedListener

Each connector has its own assigned port, which is allocated from a range of numbers, as required. The default range for the HTTPConnector is 7800 - 7842; the default range for the HTTPSConnector is 7843 - 7884. The first integration server to start an embedded listener is allocated port 7800, the second is allocated 7801, and so on.

If you deploy a message flow to multiple integration servers, the port number is incremented by one for each successive deployment. Assume that no embedded listeners have as yet been started for these integration servers. In this case, the message flow that is deployed to the first integration server receives requests on port 7800. The next message flow uses port 7801, and so on, up to the specified limit of 7842. In this scenario, you typically use an intermediary router that listens on one port, then distributes the requests across the range of ports that you are using.

You can change these port number ranges, and you can allocate a specific port to an integration server, by using the mqsichangeproperties command.

If you restart an integration server, the embedded listeners continue to use the same ports as before the restart.

Broker-wide listeners

The broker-wide listener is associated with an HTTPConnector object for properties related to handling HTTP messages, and an HTTPSConnector object for properties related to handling HTTPS messages. For example, run the following command to change the port on which the broker-wide listener for myBroker listens for HTTP messages:
mqsichangeproperties myBroker -b httplistener -o HTTPConnector 
  -n port -v 8085 
Broker-wide listener properties that apply to HTTP and HTTPS messages are controlled by the HTTPListener object. For example, to disable the broker-wide listener for myBroker, run the following command:
mqsichangeproperties myBroker -b httplistener -o HTTPListener 
  -n startListener -v false 

Each connector has its own assigned port; default values are 7080 for HTTP and 7083 for HTTPS. You can change these port numbers by using the mqsichangeproperties command.

By default, HTTPInput and HTTPReply nodes use the broker-wide listener.

You can configure one or more integration servers so that HTTP nodes that you deploy to those integration servers use the embedded listener, or so that SOAP nodes that you deploy to those integration servers use the broker-wide listener.

Using both broker-wide and embedded listeners

Because the option to use the embedded listener is at the integration server level, you can change your configuration such that some integration servers use the broker-wide listener for HTTP nodes, SOAP nodes, or both, and other integration servers use the embedded listener for HTTP nodes, SOAP nodes, or both.

However, if you disable the broker-wide listener, the integration server listeners are used for all HTTP and SOAP nodes, even if you have not explicitly enabled support for them. Therefore, if you set all relevant broker and integration server properties to false, the integration server listeners handle all HTTP messages.

The HTTPRequest node communicates directly with the HTTP transport, and is therefore unaffected by your choice.

If you change the listener and port that are processing your HTTP or HTTPS messages, you must ensure that you also update your applications to use the updated configuration.

Configuring listeners

When you have decided on the configuration that you want:


bc43700_.htm | Last updated Friday, 21 July 2017