...
You specify that a Dispatch
object uses payload mode by providing the value java.xml.ws.Service.Mode.PAYLOAD
when creating the Dispatch
object.
Data Types
Overview
Dispatch
objects, because they are low-level objects, are not optimized for using the same JAXB generated types as the higher level consumer APIs. Dispatch
objects work with the following types of objects:
javax.xml.transform.Source
javax.xml.soap.SOAPMessage
javax.activation.DataSource
- JAXB
Using Source
objects
A Dispatch
object can accept and return objects that are derived from the javax.xml.transform.Source
interface. Source objects are low level objects that hold XML documents. Each Source
implementation provides methods that access the stored XML documents and manipulate its contents. The following objects implement the Source
interface:
DOMSource
SAXSource
StreamSource
Info |
---|
When using |
Using SOAPMessage
objects
Dispatch
objects can use javax.xml.soap.SOAPMessage
objects when the following conditions are true:
- the
Dispatch
object is using the SOAP binding. - the
Dispatch
object is using message mode.
Using DataSource
objects
Dispatch
objects can use objects that implement the javax.activation.DataSource
interface when the following conditions are true:
- the
Dispatch
object is using the HTTP binding. - the
Dispatch
object is using message mode.
DataSource
objects provide a mechanism for working with MIME typed data from a variety of sources including URLs, files, and byte arrays.
Using JAXB objects
While Dispatch
objects are intended to be low level API that allows you to work with raw messages, they also allow you to work with JAXB objects. To work with JAXB objects a Dispatch
object must be passed a JAXBContext
that knows how to marshal and unmarshal the JAXB objects in use. The JAXBContext
is passed when the Dispatch
object is created.
You can pass any JAXB object understood by the JAXBContext
object as the parameter to the invoke()
method. You can also cast the returned message into any JAXB object understood by the {{JAXBContext} object.