As I see it, the initial RPC orientation of SOAP was what got the hype going since it - in theory - allowed transparent calls to interfaces implemented in any language. In practice it ran into the same limitations as any other form of RPC, where once you get beyond simple objects everything breaks down and you're left needing custom encoding/decoding for each language/platform. That's part of why the trend is now toward using doc/literal, where the Schema definition gives the structure of the XML payload and it's up to each implementation to handle that payload as desired. There's not a lot of value added by SOAP at that point, though (as opposed to WSDL, which is still very valuable). Most current applications don't appear to make use of SOAP headers, so until features like encryption and signing become common the SOAP part of messages could just as easily be a canned header and trailer for the XML payload.
Axis is designed for JAX-RPC compatibility, but most other SOAP frameworks are not. You may have an easier time with one of those (such as GLUE or WASP). You can also just go directly to handling XML in a servlet or client. This is probably the best solution for high-performance Web services in any case. If you want to convert the XML payload of a SOAP message to and from objects, you can use a data binding framework. I'm planning to do a demo of this using my own JiBX framework sometime soon.
- Dennis
Wendy Smoak wrote:
I'm looking at the stuff generated by WSDL2Java and wondering... Can't you have web services without RMI? I just want to receive a SOAP Message, and have the body of it passed to a method. The part where the XML gets turned into a Java object (wrapped) is nice, but not necessary.
Perhaps Axis isn't overkill for me. Just as I did not go with EJB's, but instead stuck with Servlets & JSP and a simpler persistance layer, is there a simpler way to receive and process SOAP messages? Axis (Apache SOAP) is certainly what popped up on search after search, so here I am, but maybe I should go elsewhere.
