Hi, I have used Apache SOAP a little bit and have also played around with Axis.
Personally, I like Axis a lot more. It has an elegant architecture, is tracking ( and influencing ) JAX-RPC standard very closely, and has a very active user group supporting interoperability efforts. It may not very stable yet ( afterall, it is only in Alpha stage ), but it will be soon ( with so many dedicated developers and users !! ). It is no brainer -- go with Axis. By the time the book comes out, Axis would be ready for prime time. A couple of points about the attached message: 1. The message says -- " .. Apache SOAP, an open-source implementation of the SOAP v1.1 and SOAP Messages with Attachments" I have not found this support in Apache SOAP. I may have just missed it but I doubt. 2. The message says -- "Axis is in Beta and will be tested on the final version is released; " THe latest release is labelled Alpha3 and not beta. Also, it gets tested every day. /Pankaj. > -----Original Message----- > From: McLane, Bryan [mailto:[EMAIL PROTECTED]] > Sent: Friday, February 08, 2002 11:07 AM > To: '[EMAIL PROTECTED]' > Subject: RE: SOAP 2.2 vs. AXIS > > > Let us know the gist of the responses > > > 1.1. SOAP Servers > Simple Object Access Protocol (SOAP) is a lightweight > protocol for exchange > of information in a decentralized, distributed environment. > It is an XML > based protocol that consists of three parts: an envelope that > defines a > framework for describing what is in a message and how to > process it, a set > of encoding rules for expressing instances of application-defined data > types, and a convention for representing remote procedure calls and > responses. SOAP can potentially be used in combination with a > variety of > protocols. The specification describes the following areas: > 1. Message structure - SOAP defines three main elements: > Envelope, Header and Body. Applications use this structure > to create a > message for transport. > 2. Protocol bindings - A SOAP document can be > transported over > various protocols, HTTP, FTP, SMTP, etc. The specification > defines how SOAP > messages are bound to protocols. > 3. Data encoding - There are many ways to > represent data. A > Boolean value can be expressed as 'true,' 'yes,' or '1.' > SOAP defines how > primitive data types and how complex or user-defined data > types (UDT) are > serialized for data exchange. > 4. Errors handling - Applications can represent > errors using > SOAP FAULT elements. > A sample SOAP document is shown below: > <?xml version="1.0" encoding="UTF-8" ?> > > <SOAP-ENV:Envelope > > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> > > <SOAP-ENV:Header> > <transid>544-33432-33</transid> > </SOAP-ENV:Header> > > <SOAP-ENV:Body> > <getUser xmlns="uri:com-charlesschwab-poc"> > <ssn>999-99-9999</ssn> > <pin>9999</pin> > </getUser> > </SOAP-ENV:Body> > > </SOAP-ENV:Envelope> > 1.1.1. SOAP Implementations > 1.1.1.1. Apache SOAP 2.2 > Many organizations have implemented the SOAP specification. > The Apache > group, with work donated by IBM, has released Apache SOAP, an > open-source > implementation of the SOAP v1.1 and SOAP Messages with Attachments > specifications in Java. Apache SOAP can be used as a client library to > invoke SOAP services available elsewhere or as a server-side tool to > implement SOAP accessible services. As a client library it > provides an API > for invoking SOAP RPC services as well as an API for sending > and receiving > SOAP messages. As a mechanism to write new RPC accessible services or > message accessible services, it expects to be hosted by a > servlet container > (such as Apache Tomcat, for example). While the code base can > be extended to > support non-HTTP transports, the current implementation only > has limited > support for non-HTTP transports (specifically, only for SMTP). > Limitations > * No support for WSDL > * Poor support for layered architectures and/or > intermediaries > * Only supports HTTP > * The default RPC provider in Apache SOAP does not provide > access to any headers in the SOAP envelope > * Does not implement the 'mustUnderstand' attribute > * The default RPC service provider does not > support multiple > return parameters > * Apache SOAP does not (by default) function without every > typed value being explicitly typed in the envelope using the xsi:type > attribute > * Does not use the SOAPAction HTTP header > * Does not fully implement all three versions of > XML Schema > 1.1.1.2. Apache Axis (Beta 3) > Axis is essentially Apache SOAP 3.0. It is a rewrite, > designed around a > streaming model (using SAX internally rather than DOM). The > intention is to > create a more modular, more flexible, and higher-performing SOAP > implementation (relative to Apache SOAP 2.0). The name "Axis" > was chosen > because, when the project started, the XML Protocol working > group had not > chosen a name for its protocol. The intent was for Axis to > support SOAP 1+, > XML-RPC, and XMLP (whatever it wound up being called), > calling it "Apache > SOAP 3.0" would have missed the mark. Recently, the XML > Protocol working > group decided to retain the SOAP name. > Limitations > * Axis is in Beta and will be tested on the final > version is > released; In it's current state, we cannot recommend > development with Axis > as there are too many interoperability issues > 1.1.1.3. Microsoft SOAP > Microsoft has included the SOAP toolkit in the Microsoft .NET > platform. The > implementation automatically generates WSDL documents for Web Services > exposed on the .NET platform. Unlike the implementations of Apache, > Microsoft supports a variety of language bindings including > C, C#, Visual > Basic.NET, and J#. > Limitations > * Can only generate WSDL using version 2001 of XML Schema > * SOAP Toolkit 2.0 does not support attachments > * .NET requires the SOAPAction header be used to exactly > identify the operation on which service is being invoked > * Does not properly understand nested namespaces > * Requires all parameters to be named and typed explicitly > 1.1.2. References > * http://www.w3.org/TR/SOAP/ > * http://xml.apache.org/soap/ > * http://xml.apache.org/axis/ > * http://msdn.microsoft.com/soap/ > > > Thanks, > Bryan > Bryan McLane > Consultant\RPS SITE > Cyrstar Consulting Inc.\Charles Schwab > SF45FRMT-27-215 > (415) 667-4654 > > Any comments or statements made are not those of Charles > Schwab & Co., Inc., > its subsidiaries, or affiliates > > > > WARNING : All e-mail sent to or from this address will be > received or > > otherwise recorded by the Charles Schwab corporate e-mail > system and is > > subject to archival, monitoring or review by, and/or disclosure to, > > someone other than the recipient. > > > > > > > > ---------- > > From: Mark Hansen[SMTP:[EMAIL PROTECTED]] > > Reply To: [EMAIL PROTECTED] > > Sent: Friday, February 08, 2002 10:55 AM > > To: AXIS mail list > > Subject: SOAP 2.2 vs. AXIS > > > > Hello AXIS community - > > > > I'm writing a book on how to use SOAP, Web Services, > > and Java to implement Enterprise Application > > Integration (EAI). > > > > I've been writing all code examples in the book using > > the Apache SOAP 2.2 implementation. However, now I > > see SOAP books coming out that use AXIS rather than > > the older SOAP 2.2 code. > > > > Question: Should I use SOAP 2.2 or AXIS for the code > > examples in my book?? > > > > Anyone and everyone with an opinion is invited to > > respond to this message. It is really important to me > > to get a sense of what the SOAP/Java community is > > doing. > > > > Thanks, > > > > Mark Hansen > > bus tel: 888-360-7285 > > bus fax: 914-723-8671 > > email: [EMAIL PROTECTED] > > >