Codehaus XFire is a next-generation java SOAP framework. Codehaus XFire makes service oriented development approachable through its easy to use API and support for standards. It is also highly performant since it is built on a low memory StAX based model.
Features & Goals
- Support for important Web Service standards - SOAP, WSDL, WS-I Basic Profile, WS-Addressing, WS-Security, etc.
- High performance SOAP Stack
- Pluggable bindings POJOs, XMLBeans, JAXB 1.1, JAXB 2.0, and Castor support
- JSR 181 API to configure services via Java 5 and 1.4 (Commons attributes JSR 181 syntax)
- Support for many different transports - HTTP, JMS, XMPP, In-JVM, etc.
- Embeddable and Intuitive API
-
Spring, Pico, Plexus, and Loom support.
-
JBI Support
- Client and server stub generation
-
JAX-WS early access support
Using XFire in Applications
XFire is a next-generation java SOAP framework. At its core is a light STAX based message processing model used to interact with SOAP messages. On top of this XFire supports a variety of binding mechanisms, containers, and transports.
Usage Scenarios:
XFire API |
You can use the XFireFactory or create your own XFire instances to process soap messages. Not only is this great for HTTP, but also for processing messages within your application, unit testing, or a myriad of other things. See Using the XFire API for information on this. |
XML Configuration |
Configure your services with an xml descriptor. |
Bindings
Bindings are ways to map XML to java objects. Currently XFire supports several different bindings:
Aegis Binding
|
Aegis is the default binding mechanism in XFire. It is very fast, utilizes small amounts of memory and is very easy to use. It allows you to map POJOs and to XML. |
JAXB 2.0
|
JAXB 2 a fast, flexible and easy to use API for schema and code first development. |
XMLBeans
|
Uses XMLBeans to parse the request and format the response. |
MessageBinding |
The MessageBinding allows you to easily work with XML documents instead of objects. |
Castor |
Castor is a flexible API that offers both compiled and mapping-filed defined un/marshalling. |
Container Support
XFire strives to be a first class citizen with different containers. Containers provide component management and configuration to XFire. If your container isn't supported yet, please help us and integrate XFire with it!
Plexus
|
Plexus can provide configuration support for nearly any scenario (in a servlet container, embedded, etc). |
Spring
|
Spring is a popular framework for managing components. |
PicoContainer
|
"PicoContainer is a lightweight embeddable container for components that honour Dependency Injection." |
Transports
XFire is built on a an XML messaging layer made up of Transports which provide Channels for communication.