Passing SOAP messages with attachments using WSIF
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...
- SOAP messages with attachments - Writing the WSDL extensions.
- SOAP messages with attachments - Passing attachments to WSI.
- SOAP messages with attachments - Working with types and type mappings.
The following scenarios are not supported...
- Using DIME.
- Passing in javax.xml.transform.Source and javax.mail.internet.MimeMultipart.
- Using the mime:mimeXml WSDL tag.
- Nesting a mime:multipartRelated tag inside a mime:part tag.
- Using types that extend DataHandler, Image, and so on.
- Using types that contain DataHandler, Image, and soon.
- Using Arrays or Vectors of DataHandlers, Images, and so on.
- Using 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.
See Also
Using complex types
Using WSIF to invoke Web services
Using the WSIF providers
Developing a WSIF service
Using the JNDI
Interacting with the J2EE container in WAS
Running WSIF as a client