WS-I

Attachments Profile Version 1.0 Errata

Board Approval Draft

Revision: 1.4

Date: 2005/10/25

This version:
http://www.ws-i.org/Profiles/AttachmentsProfile-1.0-errata-2005-10-25.html
Latest version:
http://www.ws-i.org/Profiles/AttachmentsProfile-1.0-errata.html

Editors:

Administrative contact:


Abstract

This document contains the set of published errata against the WS-I AttachmentsProfile-1.0.

Status of this Document

This document is a Board Approval Draft; it has been approved for publication by the Working Group, and is submitted for consideration by the Board of Directors, and for public comment. It is a work in progress, and should not be considered as final; other documents may supersede this document.

Notice

The material contained herein is not a license, either expressly or impliedly, to any intellectual property owned or controlled by any of the authors or developers of this material or WS-I. The material contained herein is provided on an "AS IS" basis and to the maximum extent permitted by applicable law, this material is provided AS IS AND WITH ALL FAULTS, and the authors and developers of this material and WS-I hereby disclaim all other warranties and conditions, either express, implied or statutory, including, but not limited to, any (if any) implied warranties, duties or conditions of merchantability, of fitness for a particular purpose, of accuracy or completeness of responses, of results, of workmanlike effort, of lack of viruses, and of lack of negligence. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THIS MATERIAL.

IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR WS-I BE LIABLE TO ANY OTHER PARTY FOR THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS MATERIAL, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.

Feedback

The Web Services-Interoperability Organization (WS-I) would like to receive input, suggestions and other feedback ("Feedback") on this work from a wide variety of industry participants to improve its quality over time.

By sending email, or otherwise communicating with WS-I, you (on behalf of yourself if you are an individual, and your company if you are providing Feedback on behalf of the company) will be deemed to have granted to WS-I, the members of WS-I, and other parties that have access to your Feedback, a non-exclusive, non-transferable, worldwide, perpetual, irrevocable, royalty-free license to use, disclose, copy, license, modify, sublicense or otherwise distribute and exploit in any manner whatsoever the Feedback you provide regarding the work. You acknowledge that you have no expectation of confidentiality with respect to any Feedback you provide. You represent and warrant that you have rights to provide this Feedback, and if you are providing Feedback on behalf of a company, you represent and warrant that you have the rights to provide Feedback on behalf of your company. You also acknowledge that WS-I is not required to review, discuss, use, consider or in any way incorporate your Feedback into future versions of its work. If WS-I does incorporate some or all of your Feedback in a future version of the work, it may, but is not obligated to include your name (or, if you are identified as acting on behalf of your company, the name of your company) on a list of contributors to the work. If the foregoing is not acceptable to you and any company on whose behalf you are acting, please do not provide any Feedback.

Feedback on this document should be directed to wsbasic_comment@ws-i.org.


er001 Lack of examples on the use of MIME bindings and swaRef
Description
AP 1.0 defines two separate schemes to specify attachments: one based on the WSDL MIME binding, and the other using the WS-I defined swaRef type. The profile lacks examples to illustrate the use of the two schemes.
Resolution: 2003-08-03

Add a new section --

4.15 Attachment Description Examples

Add a new section --

4.15.1 Attachment Description Using mime:conent

WSDL description for document/literal:

        
<?xml version="1.0" encoding="utf-8" ?>
<wsdl:definitions xmlns:types="http://example.com/mimetypes"
                  xmlns:ref="http://ws-i.org/profiles/basic/1.1/xsd"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                  xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/"
                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
                  targetNamespace="http://example.com/mimewsdl"
                  xmlns:tns="http://example.com/mimewsdl">

    <wsdl:types>
        <xsd:schema targetNamespace="http://example.com/mimetypes"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema">

            <xsd:element name="ClaimDetail" type="types:ClaimDetailType"/>
            <xsd:complexType name="ClaimDetailType">
                <xsd:sequence>
                    <xsd:element name="Name" type="xsd:string"/>
                    <!-- lots of other claim detail stuff -->
                </xsd:sequence>
            </xsd:complexType>

            <xsd:element name="ClaimRefNo" type="xsd:string"/>

        </xsd:schema>
    </wsdl:types>

    <wsdl:message name="ClaimIn">
        <wsdl:part name="body" element="types:ClaimDetail"/>
        <wsdl:part name="ClaimPhoto" type="xsd:base64Binary"/>
    </wsdl:message>

    <wsdl:message name="ClaimOut">
        <wsdl:part name="out" element="types:ClaimRefNo"/>
    </wsdl:message>

    <wsdl:portType name="ClaimPortType">
        <wsdl:operation name="SendClaim">
            <wsdl:input message="tns:ClaimIn"/>
            <wsdl:output message="tns:ClaimOut"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="ClaimBinding" type="tns:ClaimPortType">
        <soapbind:binding style="document"
                          transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="SendClaim">
            <soapbind:operation soapAction="http://example.com/soapaction"/>
            <wsdl:input>
                <mime:multipartRelated>
                    <mime:part>
                        <soapbind:body parts="body" use="literal"/>
                    </mime:part>
                    <mime:part>
                        <mime:content part="ClaimPhoto" type="image/jpeg"/>
                    </mime:part>
                </mime:multipartRelated>
            </wsdl:input>
            <wsdl:output>
                <soapbind:body use="literal" />
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
</wsdl:definitions>
        
      

Resulting input message for "SendClaim" document/literal operation:

        
MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml;
        start="<rootpart@example.com>"
Content-Description: This is the optional message description.

--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <rootpart@example.com>

<?xml version='1.0' ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body xmlns:types="http://example.com/mimetypes">
            <types:ClaimDetail>
                <Name>...</Name>
                <!-- lots of other claim detail stuff -->
            </types:ClaimDetail>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

--MIME_boundary
Content-Type: image/jpeg
Content-Transfer-Encoding: binary
Content-ID: <ClaimPhoto=4d7a5fa2-14af-451c-961b-5c3abf786796@example.com>

...MIME attachment of binary photograph...
--MIME_boundary--
       
     

Resulting output message for "SendClaim" document/literal operation:

       
MIME-Version: 1.0
Content-Type: text/xml; charset=UTF-8

<?xml version='1.0' ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body xmlns:types="http://example.com/mimetypes">
        <types:ClaimRefNo>...............</types:ClaimRefNo>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope> 
        
      

Add a new section --

4.15.2 Attachment Description Using swaRef

WSDL description for document/literal:

        
<?xml version="1.0" encoding="utf-8" ?>
<wsdl:definitions xmlns:types="http://example.com/mimetypes"
                  xmlns:ref="http://ws-i.org/profiles/basic/1.1/xsd"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                  xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/"
                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
                  targetNamespace="http://example.com/mimewsdl"
                  xmlns:tns="http://example.com/mimewsdl">

    <wsdl:types>
        <xsd:schema targetNamespace="http://example.com/mimetypes"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema">

            <xsd:import namespace="http://ws-i.org/profiles/basic/1.1/xsd" />
            <xsd:element name="ClaimDetail" type="types:ClaimDetailType"/>
            <xsd:complexType name="ClaimDetailType">
                <xsd:sequence>
                    <xsd:element name="Name" type="xsd:string"/>
                    <!-- lots of other claim detail stuff -->
                    <xsd:element name="ClaimPhoto" type="ref:swaRef"/>
                </xsd:sequence>
            </xsd:complexType>

            <xsd:element name="ClaimRefNo" type="xsd:string"/>

        </xsd:schema>
    </wsdl:types>

    <wsdl:message name="ClaimIn">
        <wsdl:part name="body" element="types:ClaimDetail"/>
    </wsdl:message>

    <wsdl:message name="ClaimOut">
        <wsdl:part name="out" element="types:ClaimRefNo"/>
    </wsdl:message>

    <wsdl:portType name="ClaimPortType">
        <wsdl:operation name="SendClaim">
            <wsdl:input message="tns:ClaimIn"/>
            <wsdl:output message="tns:ClaimOut"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="ClaimBinding" type="tns:ClaimPortType">
        <soapbind:binding style="document"
                          transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="SendClaim">
            <soapbind:operation soapAction="http://example.com/soapaction"/>
            <wsdl:input>
                <mime:multipartRelated>
                    <mime:part>
                        <soapbind:body parts="body" use="literal"/>
                    </mime:part>
                </mime:multipartRelated>
            </wsdl:input>
            <wsdl:output>
                <soapbind:body use="literal" />
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
</wsdl:definitions>
        
      

Resulting input message for "SendClaim" document/literal operation:

        
MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml;
        start="<rootpart@example.com>"
Content-Description: This is the optional message description.

--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <rootpart@example.com>

<?xml version='1.0' ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body xmlns:types="http://example.com/mimetypes">
            <types:ClaimDetail>
                <Name>...</Name>
                <!-- lots of other claim detail stuff -->
                <ClaimPhoto>cid:claimphoto@example.com</ClaimPhoto>
            </types:ClaimDetail>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

--MIME_boundary
Content-Type: image/jpeg
Content-Transfer-Encoding: binary
Content-ID: <claimphoto@example.com>

...MIME attachment of binary photograph...
--MIME_boundary-- 
        
      

Resulting output message for "SendClaim" document/literal operation:

        
MIME-Version: 1.0
Content-Type: text/xml; charset=UTF-8

<?xml version='1.0' ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body xmlns:types="http://example.com/mimetypes">
        <types:ClaimRefNo>...............</types:ClaimRefNo>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope> 
        
      
er002 Incorrect reference to RFC 2111
Description
Section 3.5 incorrectly references RFC 2111 instead of RFC 2392
Resolution: 2003-08-31

In Section 3.5 Dereferencing Attachments, replace the sentence:

When using the CID URI scheme, the syntax and rules defined in RFC 2111 apply.

with:

When using the CID URI scheme, the syntax and rules defined in RFC 2392 apply.

er003 R2935 has extraneous "[clarification]" at the end
Description
R2935 has extraneous "[clarification]" at the end instead of the clarification annotation as specified in section 1.2
Resolution: 2003-08-31

Remove "[clarification]" at the end of R2935, and replace it with the clarification annotation specfied in Section 1.2 Notational Conventions.

er004 Missing full stop at the end of R2941
Description
Full stop at the end of R2941 is misssing.
Resolution: 2003-08-31

Add a full stop (".") at the end of R2941.

er005 Extra full stop at the end of R2903
Description
There is an extra full stop at the end of R2903
Resolution: 2003-08-31

Remove the full stop at the end of R2903.

er006 Incorrect URI for WSDL MIME binding schema
Description
In section 4.7 MIME Binding Schema Fixes, the URI listed is incorrect
Resolution: 2003-10-25

Replace Section 4.7 MIME Binding Schema Fixes with the following:

There are a number of discrepancies between the WSDL1.1 specification and the WSDL MIME binding schema. In the case of the mime:part element, the schema incorrectly defines it as a local element declaration and it incorrectly adds a name attribute that is not described in the WSDL1.1 specification.

R2907 MIME parts in a DESCRIPTION MUST be defined using an element with a local name of part in the namespace of the WSDL MIME Binding extension.

R2908 The mime:part element in a DESCRIPTION MUST NOT have a name attribute.

These and other fixes to the WSDL MIME Binding extension schema are reflected in the revised schema located at "http://ws-i.org/profiles/basic/1.1/wsdlmime-2004-08-24.xsd".