All transports currently supported by WSO2 Carbon are directly or indirectly based on the Apache Axis2 transports framework. This framework provides two main interfaces that each transport implementation must implement.
- org.apache.axis2.transport.TransportListener - Implementations of this interface should specify how incoming messages are received and processed before handing them over to the Axis2 engine for further processing.
- org.apache.axis2.transport.TransportSender - Implementations of this interface should specify how a message can be sent out from the Axis2 engine.
Because each transport implementation has to implement the above two interfaces, each transport generally contains a transport receiver/listener implementation and a transport sender implementation. Axis2 transport framework enables the user to configure, enable and manage transport listeners and senders independently of each other. For example, one may enable only the JMS transport sender without having to enable JMS transport listener. WSO2 Carbon provides the user the same capability.
Transports Architecture