### XFire Home Bug/Issue Reporting Download FAQ Get Involved License News Stack Comparison Support User's Guide XFire Team ### M5 Javadocs Reports ### M6-SNAPSHOT Javadocs Reports ### Developers Developer Space CVS Building Architecture Interesting Projects Release Process | XFire is a completely stream based system. This means that your soap document is not cached in memory - creating significant performance and memory usage improvements. Working with a stream based soap model can be slightly confusing though for those who are used to DOM based models such as Axis or GLUE. A Channel endpoint receives a message (getEndpoint().receive(...)) The Channel creates a HandlerPipeline from the Global Handlers (see XFire) and the Transport Handlers This pipeline is invoked There are the following phases to an incoming invocation: Transport Pre Dispatch Dispatch Policy User Pre-Invoke Service Invocation At any time during the pipeline invocation additional Handlers can be added to or removed from phases which are or have not executed yet. Handlers in any phase may create messages which are sent out to other places. The phases in an outgoing invocation are: Post Invoke User Policy Transport Faults will be caught by the HandlerPipeline. A fault message is then created using the current MessageExchange and sent out using the MessageExchange Fault channel. If a message is created which does not have a destination (like a Fault on an in-only message), it will be sent to a Dead Letter channel. Users can register their own dead letter Transports which handle dead messages appropriately.