Because they are low-level objects, Provider
implementations cannot use the same
JAXB generated types as the higher level consumer APIs. Provider
implementations work with
the following types of objects:
A Provider
implementation 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
Holds XML messages as a Document Object Model(DOM) tree. The XML message is stored as a set of
Node
objects that are accessed using thegetNode()
method. Nodes can be either updated or added to the DOM tree using thesetNode()
method.SAXSource
Holds XML messages as a Simple API for XML (SAX) object. SAX objects contain an
InputSource
object that holds the raw data and anXMLReader
object that parses the raw data.StreamSource
Holds XML messages as a data stream. The data stream can be manipulated the same as any other data stream.
If you create your Provider
object so that it uses generic
Source
objects, Fuse Services Framework returns the messages as
SAXSource
objects.
This behavior can be changed using the endpoint's source-preferred-format property. See Configuring Web Service Endpoints for information about configuring the Fuse Services Framework runtime.
![]() | Important |
---|---|
When using |
Provider
implementations can use
javax.xml.soap.SOAPMessage
objects when the following conditions are true:
The
Provider
implementation is using the SOAP bindingThe
Provider
implementation is using message mode
A SOAPMessage
object holds a SOAP message. They contain one
SOAPPart
object and zero or more AttachmentPart
objects. The
SOAPPart
object contains the SOAP specific portions of the SOAP message including the SOAP
envelope, any SOAP headers, and the SOAP message body. The AttachmentPart
objects contain
binary data that is passed as an attachment.
Provider
implementations can use objects that implement the javax.activation.DataSource
interface when the following conditions are true:
The implementation is using the HTTP binding
The implementation 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.