Passing SOAP messages with attachments using WSIF
Use the WSIF SOAP provider to pass attachments within a MIME multipart/related message in such a way that the SOAP processing rules for a standard SOAP message are not changed.
The W3C SOAP Messages with Attachments document describes a standard way to associate a SOAP message with one or more attachments in their native format (for example GIF or JPEG) by using a multipart MIME structure for transport. It defines specific use of the "Multipart/Related" MIME media type, and rules for the use of URI references to entities bundled within the MIME package. It thereby outlines a technique for carrying a SOAP 1.1 message within a MIME multipart/related message in such a way that the SOAP processing rules for a standard SOAP message are not changed.
The Web Services Invocation Framework (WSIF) supports passing attachments in a MIME message using the SOAP provider. The attachment is a javax.activation.DataHandler object. The mime:multipartRelated, mime:part and mime:content tags are used to describe the attachment in the WSDL. For more information, see the following topics:
- Example: Writing the WSDL extensions for SOAP attachments.
- Example: Using WSIF to pass SOAP attachments.
- SOAP messages with attachments - Working with types and type mappings.
The following scenarios are not supported:
- Use DIME.
- Passing in javax.xml.transform.Source and javax.mail.internet.MimeMultipart.
- Use the mime:mimeXml WSDL tag.
- Nesting a mime:multipartRelated tag inside a mime:part tag.
- Use types that extend DataHandler, Image, and so on.
- Use types that contain DataHandler, Image, and soon.
- Use Arrays or Vectors of DataHandlers, Images, and so on.
- Use multiple in/out or output attachments.
The MIME headers from the incoming message are not preserved for referenced attachments. The outgoing message contains new MIME headers for Content-Type, Content-Id and Content-Transfer-Encoding that are created by WSIF.
Sub-topics
SOAP messages with attachments - Writing the WSDL extensions
Example: Using WSIF to pass SOAP attachments
SOAP messages with attachments - Working with types and type mappings
Related tasks
Linking a WSIF service to the underlying implementation of the service
Developing a WSIF service
Use complex types
Use WSIF to bind a JNDI reference to a Web service
Interacting with the J2EE container in WAS
Running WSIF as a client
Use WSIF to invoke Web services
Reference topic