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:
DOMSourceHolds XML messages as a Document Object Model(DOM) tree. The XML message is stored as a set of
Nodeobjects that are accessed using thegetNode()method. Nodes can be either updated or added to the DOM tree using thesetNode()method.SAXSourceHolds XML messages as a Simple API for XML (SAX) object. SAX objects contain an
InputSourceobject that holds the raw data and anXMLReaderobject that parses the raw data.StreamSourceHolds 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
Providerimplementation is using the SOAP bindingThe
Providerimplementation 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.






![[Important]](imagesdb/important.gif)


