Connect an Axis2 client to a JAX-WS service using W3C SOAP over JMS and WebSphere Application Server
When you complete this task you will have called a JAX-WS web service running in WebSphere Application Server from an Axis2 client. The Axis2 client and WebSphere Application Server use the W3C candidate recommendation for the SOAP over JMS protocol running on IBM MQ . Use Eclipse Galileo and Rational® Application Developer to build the web service client and web service, respectively.
Before you begin
The task requires version 7 of Rational Software Development Environment and WebSphere Application Server. The task was created using the Rational Application Developer packaged with Rational Software Architect for WebSphere Software v7.5.5.1, and WebSphere Application Server Version 7.0 Test Environment v7.0.0.9 Update 1. You also require IBM MQ v7.0.1.3, or later.
The task builds on two other tasks, the Liberty profile, and Developing a JAX-WS client for WebSphere transport for SOAP using Eclipse. To complete these tasks your development environment already has Eclipse Galileo, the Liberty profile, the Eclipse plug-in for Liberty, and Axis2 1.4.1 installed.
Some of the steps are complex. The steps assume some familiarity with developing web service applications for WebSphere Application Server using Rational Application Developer. The processor and memory demands of the task are large. The task was performed in a VMWare Windows 7 SP1 virtual machine allocated 1.8GB of memory.
Install all the software before starting the task. The software takes about a day to download and a day to install, depending on bandwidth. The task takes at least half a day.
The scenario for this task is that we have developed a stock quotation web service, StockQuoteAxis, using an open source tool, Eclipse Galileo. StockQuoteAxis is deployed using SOAP over HTTP running on an open source server, Liberty profile.
You want to bind the web services you deploy to a standards-based messaging transport, such as SOAP over JMS, or to web services reliable messaging, as well as to SOAP over HTTP. You want both the client and service to use standards-based interfaces. For this reason, although your future projects development team have implemented a solution using IBM MQ transport for SOAP, we have not gone into production.
The Axis2 client has removed the problem that the SOAP client for the IBM MQ transport for SOAP required a change from the HTTP client. The problem still remained that the service connected by the IBM MQ transport for SOAP is hosted by a special listener provided by IBM MQ: SimpleJavaListener.
With the W3C SOAP over JMS standard in candidate recommendation status, some vendors are providing support for W3C SOAP over JMS. The support enables you to deploy a web service to an application server and connect to the same service using a variety of connectivity protocols. The support provided by WebSphere Application Server v7 removes problem of having to host the web service separately in order to use a message-based SOAP transport. The use of a standards-based message transport interface, JMS, means we can develop solutions using tools from different vendors. You hope the web services tools in Eclipse will include SOAP over JMS bindings in the future.
Most of the steps are performed using Eclipse, or the management tools provided with the WebSphere products. The steps are described for a Windows environment. With slight modifications to some commands, we can perform the steps on other platforms.
The preliminary steps creating the HTTP web service, and connecting to it using Axis2 are listed. The client, and WSDL, from these steps are used to create the solution
Procedure
- Connect to the StockQuoteAxis web service using an Axis2 client and IBM MQ transport for SOAP
- Connect to the StockQuoteAxis web service using an Axis2 client and the W3C candidate recommendation for SOAP over JMS.
- Configure IBM MQ resources.
- Configure WebSphere Application Server resources.
- Developing a JAX-WS EJB web service for W3C SOAP over JMS
- Deploying to an Axis2 client using W3C SOAP over JMS