Usage Modes
Overview
Dispatch
objects have two usage modes:
- Message mode
- Message Payload mode (Payload mode)
The usage mode you specify for a Dispatch
object determines the amount of detail is passed to the user level code.
Message mode
In message mode, a Dispatch
object works with complete messages. A complete message includes any binding specific headers and wrappers. For example, a consumer interacting with a service that requires SOAP messages would need to provide the Dispatch
object's invoke()
method a fully specified SOAP message. The invoke()
method will also return a fully specified SOAP message. The consumer code is responsible for completing and reading the SOAP message's headers and the SOAP message's envelope information.
Tip |
---|
Message mode is not ideal when you wish to work with JAXB objects. |
You specify that a Dispatch
object uses message mode by providing the value java.xml.ws.Service.Mode.MESSAGE
when creating the Dispatch object.
Payload mode
In payload mode, also called message payload mode, a Dispatch
object works with only the payload of a message. For example, a Dispatch
object working in payload mode works only with the body of a SOAP message. The binding layer processes any binding level wrappers and headers. When a result is returned from invoke()
the binding level wrappers and headers are already striped away and only the body of the message is left.
Tip |
---|
When working with a binding that does not use special wrappers, such as the Artix ESB XML binding, payload mode and message mode provide the same results. |
You specify that a Dispatch
object uses payload mode by providing the value java.xml.ws.Service.Mode.PAYLOAD
when creating the Dispatch
objectComing soon...