Welcome!

PowerBuilder Authors: Dan Joe Barry, Carmen Gonzalez, Ian Thain, Yakov Werde, Paul Slater

Related Topics: Java, SOA & WOA

Java: Article

Modernizing Axis1 Services Painlessly

Migrating with WSAS

If you’ve been working with Web Services for a long time, chances are you’ve worked with Apache Axis and that you have an Axis Web Service somewhere in your code base. You probably also know about the many improvements in Axis2, especially around support for the more modern WS-* standards. So maybe you’ve been planning on migrating these old Axis services, but it can be hard to justify spending a lot of time on something that’s working just fine. However, there’s a great new migration path available to you: WSO2’s Web Services Application Server (WSAS.) With WSAS, you can take your existing Axis Web Service, redeploy it to WSAS, and then with just a few clicks enable things like WS-Security and WS-Reliable Messaging. There’s no need to rewrite or regenerate any code.

Does this sound too good to be true? It’s not, just read on.

Prerequisites
In this article, you’ll work with WSO2 WSAS. You’ll definitely want to download the latest version of WSAS. You can run it with any Java Web container, such as Tomcat. Or you can run it in standalone mode. This article assumes experience with Axis, and in particular with deploying an Axis Web Service. It references a sample from Axis 1.4. Obviously a familiarity with Web Services in general, and with some of the modern WS-* standards is very useful.

Example of an Existing Axis Web Service
Let’s take a typical starting point for a lot of people. You have a service you developed and used Axis to expose as a Web Service. There’s a good chance that the service might not have been originally intended to be a Web Service. Maybe it was just an internal service used by one application. You then realized it would be valuable to other applications you were developing and used Axis to do this. There are a couple of different ways to do this with Axis, but the most powerful and flexible is to use Axis’s Web Service Deployment Descriptor (WSDD.)

Let’s take a look at a sample WSDD. Axis ships several great samples. We’ll use the bid-buy sample. It mimics an e-commerce system. It exposes a Web Service for doing typical e-commerce tasks like requesting a price quote and submitting purchase orders. Let’s take a look at its WSDD file shown in Listing 1.

This is a fairly typical WSDD. It describes two services. Each service has several operations that can be called. It also describes mappings between the parameter types of the service to Java classes. To deploy this you’d use Axis’s deployment tool, the AdminClient.

More Stories By Michael Galpin

Michael Galpin is an architect at eBay, specializing in presentation technologies. He has been hacking on the web since the 90s, is a frequent writer for IBM developerWorks, and has a degree in mathematics from Caltech.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.