Apache SOAP was the first implementation of the SOAP specification. It was originally developed by IBM in early 2000 (then called SOAP4J) and contributed to Apache in June 2000. It is a very antique SOAP implementation. It predates WSDL, and it's very focused on supporting rpc/encoded services. The tooling is very limited, and interoperability has been challenging. Even worse, the code base is pretty complicated and hard to manage or enhance.
Faced with the need to make major revisions to this narly code base in early 2002, the Apache SOAP committers decided to start over and build a much more manageable, modular, and extensible SOAP implementation that was designed around WSDL and the emerging JAX-RPC specification. This new project is called Axis.
Since that time, no major enhancements have been made to the Apache SOAP project. The only enhancements have been critical bug fixes. All new development efforts have been focused on the Axis project. Axis is the most widely used open source SOAP implementation. It is available for both Java and C++. The latest version (currently in beta) is JAX-RPC 1.1 compliant, WS-I compliant, and (when combined with the rest of the Geronimo project) J2EE 1.4 compliant.
Developers should not use Apache SOAP for new development. Developers that have used Apache SOAP for existing projects should consider migrating to Axis.
Dig Deeper on Topics Archive
Edmund Smith, a software engineer at EMB, in Cambridge, England, recently co-authored a white paper, "Rethinking the Java SOAP Stack," with Steve Loughran, a scientist from HP Labs in Bristol, England. In the white paper, the authors make the argument that the Java application programming interface (API) for XML-based Remote Procedure Call (RPC), formerly known as JAX-RPC (now JAX-WS), is fundamentally flawed. Moreover, they claim that any SOAP API that relies on a perfect two-way mapping between XML data and native language objects is flawed.
The authors have proposed an alternative SOAP stack for Java, dubbed Alpine, which takes a more document-centric approach to Web services development. Rather than mapping between XML and custom Java classes, Alpine will provide access to SOAP messages using modern XML support libraries. Alpine will require an understanding of XML, which the authors claim is needed to develop robust Web services, and they advocate that Web services developers should acquire that skill.
Related Q&A from Anne Thomas Manes
Anne Thomas Manes explains the differences between open source clients and open source implementations. Continue Reading
Anne Thomas Manes discusses the best way to go about creating an enterprise data dictionary and why the systems works well. Continue Reading
Anne Thomas Manes explains the difference between 'hard' real time and 'live' real time systems. Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.