Passing SOAP messages with attachments using WSIF

 

Overview

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:

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


SOAP messages with attachments - Writing the WSDL extensions
SOAP messages with attachments - Passing attachments to WSIF
SOAP messages with attachments - Working with types and type mappings

 

See Also


Using complex types

 

Related Tasks


Using the WSIF providers
Developing a WSIF service
Using the Java Naming and Directory Interface (JNDI)
Interacting with the J2EE container in WebSphere Application Server
Run WSIF as a client