Axis, Apache Axis, HTTP, for HTTP, URI, format, languages supported" /> What is WebSphere MQ transport for SOAP?

 

What is WebSphere MQ transport for SOAP?

WebSphere MQ transport for SOAP allows you to send SOAP formatted messages, used in conjunction with Web services, over WebSphere MQ.

It is implemented for either Apache Axis or Microsoft .NET host environments. Axis is available on UNIX or Windows platforms, and .NET on Windows only.

WebSphere MQ transport for SOAP allows interoperation with WebSphere Application Server and CICS.

Figure 1 illustrates how WebSphere MQ transport for SOAP fits into a Web service design. This diagram shows a process where a client application calls a target Web service and obtains a response from the service.

Figure 1. Overview of WebSphere MQ transport for SOAP

First consider the case where HTTP is being used as a transport between the client application and target web service (labelled "1" in Figure 1). The client passes the details of the required call to the SOAP layer, which prepares a request for invocation of the service as a SOAP formatted request. This request is dispatched to the server system, where an HTTP server receives the request and passes it through the SOAP layer for decoding and invocation of the service. The response message is processed synchronously by the service, and must be handled synchronously by the client.

WebSphere MQ transport for SOAP (labelled "2" in Figure 1) provides an alternative transport to HTTP. The advantages of using SOAP/WebSphere MQ over SOAP/HTTP include options for:

For HTTP the URI is of the format

http://address:[port]/function, for example http://localhost:7080/MyRequest. This would direct the request to the same machine where the application is running (localhost), using port 7080, and the server can select which application is to receive the data based on the MyRequest data.

For SOAP/WebSphere MQ, the URI is of the format

jms:/queue?name=value&name=value.... This is fully described in Specifying the URI.

Apache Axis client applications must be written in Java. Microsoft .NET client applications must be written in C#, Visual Basic, or other .NET common language runtime (CLR) languages. The target services must be written in Java if using Axis, and in any .NET CLR language if using Microsoft .NET. It is possible to use Axis clients with .NET services, or .NET clients with Axis services, but see Interoperability.