This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
Of course I would not consider ripping Axis out of an existing system to replace it with Metro, Apache CXF or something else just for the sake of not using Axis.
I take it that Axis2 is, or is on its way to become, legacy software and if one has a choice, the only motivation for using Axis2 is having previous experience with it.
What I was trying to get at is: When I am considering a web service solution for a new project, is there any area in which Axis2 excel that would make me consider Axis2 instead of other alternatives?
One could also ask, why use anything else when Axis is around for a long time as [sort of] a standard web service tool? But I do agree with you purely based on personal choice and other observations.
My problems with Axis:
1. EJB based endpoints are difficult to implement
2. It doesn't follow the JAX-RPC packaging structure
For more insights, see here.
On the other hand,many tools that support web service, use Axis behind the scene. For example, Vitria, an integration tool, uses Axis. Informatica PowerCenter, an ETL and data integration tool, uses Axis. Sometimes, to interoperate with these tools, you have to use Axis. In one of my projects, we wanted to invoke a web service on Vitria from WebSphere but we had an XML type that was only supported in Axis. We couldn't use WebSphere JAX-RPC implementation.
When should you choose Axis?
1. If you want a light weight web service container
2. When you want to or have to package the web service container with your application. Remember, you can package Axis with your web app and deploy it in [say] WebSphere. This way, your code won't use WebSphere web service container, it will use Axis
Metro and Glassfish are great tools. In fact, that is what I use when I am not bound by my client's requirement to use something else. It's just that Axis got more attention as the early entrant in the market. Plus, there is a ton of 'how to' available on using Eclipse + Axis.
Ivan Krizsan wrote:I take it that Axis2 is, or is on its way to become, legacy software
Why? With the uncertainly about Sun's future, and thus all software projects that are closely associated with Sun, I think there's a bigger chance that Metro will become a legacy piece of code. IMO, that's still unlikely for both projects, though.