Re: How to describe variable # of Attachments in WSDL

From: Anne Thomas Manes <>
Date: Sat, 21 Feb 2004 20:01:51 -0500


This point is a little unclear. The WS-I Attachments Profile [1] says that
SwA places no restriction on the type of any non-root part in a
multipart/related message. Even so, I don't think it's permitted to have an
attachment which is itself a mime multipart. I believe you must define each
part in a separate <mime:part> element. See R2909 in the draft WS-I
Attachments Profile. You may list multiple <mime:content> elements within
the <mime:part> definition, but multiple content elements are considered
alternate acceptable serializations of one part (e.g., jpeg or gif) rather
than multiple parts. All content elements in a <mime:part> must refer to
the same message part definition, and I believe you must indicate the
content type. I can't think of how you would define a mime multipart in the
message part definition.

Note that you MUST send all parts define in the WSDL, and you MAY send
additional parts not defined in the WSDL. See R2923 and R2926. I see no
facility to specify optional parts.

Perhaps you should submit this use case to WS-I.



At 10:54 AM 2/21/2004, you wrote:

>This is a little off-topic to JAX-RPC today but I figure someone on the
>list must know the answer to my question.
>In a WSDL that describes a Web Service based upon SOAP 1.1 with
>attachments how does one describe an operation within a (SOAP) binding
>that has
>zero or more attachments where each attachments itself
>is a mime multi-part.
>Consider the example of an operation submitObjects below
>which takes as input the message msgSubmitObjectsRequest also below.
>This message a SOAP body as first part and then 0 or more parts that are
>of type multi-part related named (payload0 .... payloadN).
><operation name="submitObjects">
> <soap:operation
> <input>
> <mime:multipartRelated>
> <mime:part>
> <soap:body parts="partSubmitObjectsRequest" use="literal"/>
> </mime:part>
> <mime:part>
> <mime:content part="payload1" type="multipart/related"/>
> </mime:part>
> </mime:multipartRelated>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
><message name="msgSubmitObjectsRequest">
> <part name="partSubmitObjectsRequest"
> element="lcm:SubmitObjectsRequest"/>
> <part name="payload1" type="xsd:string"/>
>The question I have are:
>1. How to I capture variable number of parts
>2. What should be the type for part named payload1 if it is itself a
>Thanks for any ideas. Does WS-Attachment Profile draft address this in any
>To unsubscribe, e-mail:
>For additional commands, e-mail:

Anne Thomas Manes
VP & Research Director
Burton Group

To unsubscribe, e-mail:
For additional commands, e-mail: