Deployment
Deployment is the process of configuring the host web services infrastructure (Axis or Microsoft .NET) to recognize the prepared web service.
A deployment utility is provided as part of WebSphere MQ transport for SOAP. This consists of a Java program, com.ibm.mq.soap.util.amqwdeployWMQService, and command files amqwdeployWMQService.sh and amqwdeployWMQService.cmd, which invoke it. Source code functionally equivalent to amqwdeployWMQService is also supplied so we can use it as the basis of your own deployment utility.
The supplied deployment utility undertakes the following activities:
- Validate an optional supplied URI to be used in the deployment process. (Though optional, a URI is normally supplied to avoid the need to specify a URI at run time.)
- Prepare the WSDL from the service code.
- (Axis only) Prepare deployment descriptor files and create or update server-config.wsdd, which defines services to Axis.
- Generate client proxies from the WSDL.
- Prepare scripts for invoking and stopping a SOAP/WebSphere MQ listener on the Web Service platform
- Configure WebSphere MQ with the required queues and processes necessary to implement the service.
We cannot deploy from existing WSDL using the provided deployment utility: we can only use it by nominating the source file of a service. If you want to deploy from WSDL you will have to write your own deployment procedure.
After deployment using the provided utility it is possible for clients to invoke services through a special proxy class generated by the deployment procedure. In the Axis environment, use of a proxy is generally be simpler than the alternatives of using low level calls or by the use of a WSDL configuration file.
You might need to do further configuration, for example:
- If the client is operating with server bindings to a service on a different machine, create channel definitions and enable communication between queue managers located on the two machines.
- If the client application is to invoke the service with WebSphere MQ client bindings and there is no local queue manager at the client, create and configure a server connection channel to enable the client and server to communicate.
- Configure SSL communications if required on client bindings. It is necessary to set up the WebSphere MQ channel definitions appropriately if you want to use SSL and also to prepare a key repository file and import keys and certificates into it. See Using SSL with WebSphere MQ transport for SOAP for details.
- If the client and server are on different machines, either deploy on the server machine and copy the proxies to the client machine, or deploy on both machines and remove the redundant elements from each platform.