ActiveSOAP is a high performance, lightweight & easily embeddable, StAX based framework for document centric REST and Web Services and implementing SOAP intermediaries.
ActiveSOAP uses StAX (the Standard API for pull parsing) to implement the SOAP protocol, parsing and processing the SOAP headers, roles & relaying which is particularly useful when performance is critical or when you are implementing a SOAP router, load balancer or intermediary.
ActiveSOAP can then delegate the XML events for a specific header or of the SOAP body to a plugin Handler so that messages can be processed via various different XML marshalling and parsing tools like
- SAX, StAX or DOM
- Traditional XML APIs like SAX, TrAX, DOMish APIs
- JAX-RPC / SAAJ via Axis
- alternative SOAP tools like XFire
To get a feel for how you can work with document centric web services using ActiveSOAP and XMLBeans, take a look at some Examples.
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
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 have 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.
REST support and QName routing
One of the core features of ActiveSOAP is when an XML request is processed, the QName of the element is extracted and then passed on to some Handler object for processing. The HandlerRegistry is used to find the correct Handler for a given QName.
This architecture allows us to support multiple different versions of SOAP concurrently as well as supporting pure REST based services. Indeed we can support pure REST services both with and without the SOAP protocol at the same time, allowing you to use the SOAP protocol and other WS-protocols where they make sense - or stick to pure XML REST services where the SOAP overhead is not worth the cost.
Confluence RSS Feed
Confluence Syndication Feed