You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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.

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.

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 object.

  • No labels