ActiveSOAP uses StAX (the Standard API for pull parsing) to implement the SOAP protocols and then it delegates to plugin Handler objects for the heavy duty processing of the XML payloads.
This allows you to use whatever XML marshalling and/or parsing tool you like to process different messages or headers, such as:-
- SAX, StAX or DOM
- Traditional XML APIs like SAX, TrAX, DOMish APIs
- JAX-RPC / SAAJ via Axis
- alternative SOAP tools like XFire
It also means that you only need to pay for what you need; use pull based event parsing or full data binding or DOMish APIs when they make sense.
ActiveSOAP is also ideal if you need a high performance SOAP router, load balancer or intermediary since much of the SOAP protocol can be implemented fully in a high performance StAX manner.
To get a feel for how you can work with document centric web services using ActiveSOAP and XMLBeans, take a look at an Example.
There is also a dynamic client invocation API which you can use if you don't want to generate interfaces from your WSDLs such as in this example
To get a feel for the architecture, try reading How it works
We're still a fairly new project but we have been making good progress. We are complying with most of the test cases in SOAP 1.2 conformance tests and have transports for HTTP and JMS with more to come.
We should be able to grow ActiveSOAP to support various SOAP protocols implemented in pure StAX such as WS-Addressing, WS-Eventing, WS-RM etc.
So far we have support for XMLBeans, StAX and SAX but should have other marshalling tools implemented shortly.
Confluence RSS Feed
Confluence Syndication Feed