Web Services Addressing and the service integration bus
If we are using the Web Services Addressing (WS-Addressing) support, the presence of a service integration bus can affect the routing of messages. If we are also using a firewall, we might have to complete some additional configuration.
In the following scenarios, the client must conform to the WS-Addressing specification.
One-way messaging scenario
The path taken by one-way messages is as follows:
- The client sends a request, containing an endpoint reference specifying the endpoint to which replies are sent, to the service integration bus. This request is a one way request, so the client does not wait for a response.
- The bus passes the message intact to the web service.
- The web service sends a response directly to the endpoint specified in the request.
This scenario works if messages can flow directly from the Web service to the endpoint. If we have a configuration that does not support direct message flow, for example if we have a firewall, create handlers that can redirect the message as required.
Request-response messaging scenario
For request-response scenarios, the messages take the following path:
- The client sends a request, containing an endpoint reference specifying the endpoint to which replies are sent, to the service integration bus.
- The bus passes the message intact to the web service, as a synchronous request. As the message leaves the bus, the endpoint reference is replaced with the anonymous URI listed in the WS-Addressing specification. This step ensures that the web service does not send a response directly to the endpoint.
- The web service sends a response back to the bus, as part of the synchronous interaction.
- As the message leaves the bus, the anonymous URI is replaced with the original endpoint reference, enabling the bus to pass the message to the endpoint.