Apache Axis vs. Sun JWSDP
- I am developing an interface between a new C#.NET client, and a Java
Servlet/JSP server application (Tomcat and JRun). The purpose of the
interface to to register for and receive reports, over the Internet.
I am coding the C# client now, and prototyping the server side in C#
as well. The next step is to implement the real web service on the
Java app server.
The question: for the server side, Apache Axis or Sun WSDP?
> Date: Mon, 06 Oct 2003 20:34:53 -0000Alternate question why not stick with the same language on both ends? It
> From: "MartinKB" <martinkb@...>
> Subject: Apache Axis vs. Sun JWSDP
> I am developing an interface between a new C#.NET client, and a Java
> Servlet/JSP server application (Tomcat and JRun). The purpose of the
> interface to to register for and receive reports, over the Internet.
> I am coding the C# client now, and prototyping the server side in C#
> as well. The next step is to implement the real web service on the
> Java app server.
> The question: for the server side, Apache Axis or Sun WSDP?
makes dev easier, and if you have W2K3 server around you have already
paid for your app server anyway.
Axis runs on top of any Java app server (servlets 2.3), though BEA is
intermittently trouble. It comes with source, instead of much in the way
of documentation. What documentation there is assumes you know what you
are doing and sneers at the weak. It has a nice WSDL to JUnit feature
that can be used to test any implementation of a service. And because
you can integrate it inside your WAR file, you retain control of
versioning, get uniformity across systems, etc etc. As it supports DIME
it also lets you upload big binaries from C# land. But it is kind of
large, bits of the code are scary in places (long files with no
comments, not much review and too many TODO comments), and you have to
be self-sufficient to go into production with it. Because it is free,
you can install it widely at minimal cost. JBoss 4 ships with some
version of Axis built in, though that version just causes trouble to
people who include their own version of Axis. (Disclaimer, my code is
Axis, and wrote the bit of the docs that sneers at the weak)
The JWSDP is a kind of 'not for production' bundle from Sun. They want
to intro Web Services to you, but expect you to pony up the cash for a
real Application server before you go live. So while you can get a dev
system up and running quickly, it is not clear if you can go into
production with it. There are lots of docs, though they all blissfully
ignore interoperability with other platforms, to the extent of
pretending that unsigned data types do not exist, so that the
implementations lack of support for such types doesnt matter. You may be
able to get support from Sun for the pack, though they say on the web
site you should get the Sun App server for a "fully supported,
enterprise class" product. A large amount of the pack is actually Apache
product (Tomcat, Ant, Xerces, Xindice), so not only are you left
resorting to the same support process as Axis, the Apache groups avoid
supporting stuff that Sun reship on the basis that Sun have changed it
in places, and it is thus impossible to deal with. So the first response
to any support call is "download the latest release of our build".There
is no DIME support in JWSDP, I believe (Disclaimer, my Ant code ships
There are also third party Java SOAP implementations, which are built to
a high standard, come with support, etc etc, from vendors like The Mind
Electric, Cape Clear, and others. If you have a limited run of servers,
expect to need some help getting it working want a secure/robust/high
performance solution, these are products to seriously consider.
Certainly I would look at them before touching the JWSDP :)