IMS Logo

IMS General Web Services Base Profile

Version 1.0 Final Specification

Copyright © 2005 IMS Global Learning Consortium, Inc. All Rights Reserved.
The IMS Logo is a registered trademark of IMS/GLC
Document Name: IMS General Web Services Base Profile
Revision: 19 December 2005


Date Issued:
19 December 2005
Latest version:
http://www.imsglobal.org/gws/gwsv1p0/imsgws_profilesv1p0.html
Register comments or implementations:
http://www.imsglobal.org/developers/ims/imsforum/categories.cfm?catid=20

IPR and Distribution Notices

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.

IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.

Copyright © IMS Global Learning Consortium 2006. All Rights Reserved.

If you wish to distribute this document or use this document to implement a product or service, you must complete a valid license registration with IMS and receive an email from IMS granting the license. To register, follow the instructions on the IMS website: http://www.imsglobal.org/specificationdownload.cfm.

This document may be copied and furnished to others by Licensee organizations registered on the IMS website provided that the above copyright notice and this paragraph are included on all such copies. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to IMS, except as needed for the purpose of developing IMS specifications, under the auspices of a chartered IMS work group.

Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/gws/gwsv1p0/gwsv1p0speclicense.html.

The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.

Executive Summary

The General Web Service Base Profile provides a basic structure for the definition of Web Services. It consists of a set of non-proprietary Web services specifications, along with clarifications and amendments to those specifications that promote interoperability. The General Web Services Base Profile addresses the most common problems experienced when implementing web service specifications. The General Web Services Base Profile defines the selection of mechanisms within referenced specifications that are well understood, widely implemented and useful.

The General Web Services Base Profile promotes interoperability for web service based specification implementations on different software and vendor platforms. The Base Profile focuses on a core set of web service specifications and the most common problems experienced implementing the identified web service specifications. It is not a goal of the General Web Services Base Profile to create a plug-and-play architecture for web services or to guarantee complete interoperability. The General Web Services Base Profile addresses interoperability in the application layer, in particular, the description of behaviors exposed via Web Services.

The General Web Service Base Profile is derived from the Web Services Interoperability Basic Profile v1.1 and the Web Services Interoperability Simple SOAP Binding Profile v1.0. The IMS Global Learning Consortium (IMS/GLC) recommendations for the General Web Service Base Profile are to adopt:

The General Web Service Base Profile can be extended by the adoption of one or more support General Web Service profiles. Other IMS General Web Service documents describe profiles for Addressing (transport-neutral web service addressing), Attachments (sending non-XML documents with the SOAP messages) and Security (secure data exchange).

In principle, the SOAP-based binding for the web services supports many communications messaging models (the Information Model for an IMS/GLC specification is defined independently of the messaging nature, i.e., this is determined by the form of the Web Services Description Language binding). At the current time only one messaging model is supported:

Further messaging models will be added as and when required, i.e., asynchronous, polled, and publish and subscribe. There are three methods by which the functional capability of the base profile can be extended:

The IMS General Web Service documentation is augmented with a substantial set of support tools that enables organizations to create their own Web Services Description Language bindings based upon the IMS General Web Service. Other materials enable .NET and J2EE implementations to be built based upon reference implementations of the IMS General Web Service.

Table of Contents


Executive Summary

1. Introduction
     1.1 Scope and Context
     1.2 Structure of this Document
     1.3 Nomenclature
     1.4 References

2. Context for the GWS Profiles
     2.1 Syntax Conventions
           2.1.1 Recommendations from the IMS Abstract Framework
           2.1.2 Recommendations from the International Conformance Program
           2.1.3 Recommendations from the IMS Binding Auto-generation Toolkit
           2.1.4 Recommendations from W3C Web Service Architecture
           2.1.5 Recommendations from Web Services Interoperability Basic Profile
     2.2 Core Technologies
           2.2.1 XML
           2.2.2 XML Schemas
           2.2.3 SOAP
           2.2.4 WS-Addressing
           2.2.5 Attachments for SOAP Messages
           2.2.6 WSDL
           2.2.7 WS-Security
           2.2.8 Choreography

3. Base Profile Rules
     3.1 IMS Base Profile
     3.2 Base Profile Rules Derived from WS-I Basic Profile
     3.3 Base Profile Rules Derived from WS-I Simple SOAP Binding Profile
     3.4 Summary of Differences between IMS and WS-I Profiles

4. Relationship to the Abstract Framework
     4.1 IAF Overview
     4.2 Application Services Layer
           4.2.1 Conventions for Definitions of End Points
           4.2.2 Conventions for Definitions of Behaviors
     4.3 Common Services Layer
           4.3.1 Error and Exception Handling
           4.3.2 Security
           4.3.3 Routing
     4.4 Infrastructure Layer
           4.4.1 Quality of Service
           4.4.2 Message Packaging
           4.4.3 Generic Transport Layer

5. Implementation Profiles
     5.1 Messaging Models
           5.1.1 Synchronous Request/Response Messaging Choreography
           5.1.2 Asynchronous Messaging Choreography
           5.1.3 Polled Messaging Choreography
           5.1.4 Publish and Subscribe
     5.2 Organizational Profiles
           5.2.1 Intra-organizational Communications
           5.2.2 Inter-organizational Communications

6. Best Practice Recommendations
     6.1 Supporting Status/Error Codes and Exception Handling
     6.2 Supporting Different Communications Messaging Models
           6.2.1 Synchronous Messaging Status Codes
           6.2.2 Asynchronous Messaging Status Codes
           6.2.3 Polled Messaging Status Codes
     6.3 Versioning
           6.3.1 IMS Versioning Solution
     6.4 Using the Messaging Questionnaire Template
           6.4.1 Use Case #1: Request Data Update / ACK (or NAK)
           6.4.2 Use Case #2: Read Request / Response
           6.4.3 Use Case #3: Data Monitoring

7. Extending the Base Profile
     7.1 Proprietary Extensions
     7.2 Further Work in V2.0

8. Conformance to the Base Profile
     8.1 International Conformance Programme
     8.2 Base Profile Conformance
           8.2.1 Service Requester Perspective
           8.2.2 Service Provider Perspective
     8.3 Conformance for Extension Profiles of the Base Profile

Appendix A - Glossary of Terms

Appendix B - Messaging Questionnaire Template

About This Document
     List of Contributors

Revision History

Index

1. Introduction

1.1 Scope and Context

The objective of the General Web Services activity is to provide a framework for guiding project teams looking to use web services as part of IMS Global Learning Consortium (IMS/GLC) specification development. A General Web Services service binding will provide a methodology and an application profile that meets the following criteria:

The General Web Services Base Profile (GWSBP) provides a basic structure for the definition of Web Services. It consists of a set of non-proprietary Web Services specifications, along with clarifications and amendments to those specifications that promote interoperability. The General Web Services Base Profile addresses the most common problems experienced implementing web service specifications. The General Web Services Base Profile defines the selection of mechanisms within referenced specifications that are well understood, widely implemented and useful. The General Web Services Base Profiles will contain syntax conventions consistent with IMS Specification Development Methodology [SpecDev, 03] and Abstract Framework [AbsASCs, 03], [AbsGloss, 03], [AbsWhite, 03].

The General Web Services Base Profile promotes interoperability across web service based specification implementations on different software and vendor platforms. The Base Profile is focused on a core set of web service specifications and the most common problems experienced implementing the identified Web Service specifications. It is not a goal of the General Web Services Base Profile to create a plug-and-play architecture for web services or to guarantee complete interoperability. The General Web Services Base Profile addresses interoperability in the application layer, in particular, the description of behaviors exposed via Web Services. The General Web Services Base Profile assumes the interoperability of the lower layer protocols is sufficient.

Included in this document is a set of recommendations and best practices including how to extend the General Web Services Base Profile. The extensions will have guidance for creating Web Services binding for the Abstract Framework's common services layer such as error handling, security, manifest, context and routing. IMS/GLC has defined a complementary set of profiles that build upon the Base Profile to incorporate more of the Web Services standards and specification developed by the World Wide Web Consortium (W3C). Therefore, this document should be read in conjunction with the set of IMS General Web Services extension profiles [GWS, 05a], [GWS, 05b], [GWS, 05c] and the IMS General Web Services WSDL Binding Guidelines [GWS, 05d]. The terms of reference for the creation of both documents are defined in the original project charter [GWS, 03a].

1.2 Structure of this Document

The structure of this document is:

2. Context for GWS Profiles
The context of the set of profiles, base plus others, that are used to realize Web Service bindings of IMS specifications;
3. Base Profile Rules
The mapping of the WS-I Basic Profile v1.1 rules to the requirements of the IMS GWS, i.e., there are some differences between the WS-I Basic Profile and the IMS GWS Base Profile;
4. Relationship to the Abstract Framework
A description of how the Profiles are related to the Abstract Framework. This explains how the application and common services features are supported through a web service binding;
5. Implementation Profiles
A discussion of web service implementation details, including issues surrounding the type of messaging model and inter and intra organization communication;
6. Best Practice Recommendations
A discussion on the best practices that should be adopted when supporting exception handling, synchronous messaging, secure architectures and other architectural-based features;
7. Extending the Base Profile
A brief discussion of the ways in which the Base Profile can be extended to support proprietary requirements and an indication of future developments in these profiles;
8. Conformance to the Base Profile
An explanation of how conformance for systems that use the Base Profile can be demonstrated. This explains the usage of the IMS Application Profiling Guidelines;
Appendix A - Glossary of Terms
Definition of the concepts, terms and technologies used within this document. This material complements the Abstract Framework Glossary;
Appendix B - Messaging Questionnaire Template
The messaging questionnaire template that is used to define the binding state space for a particular specification.

1.3 Nomenclature

a-API
Abstract Application Programming Interface
API
Application Programming Interface
BPEL4WS
Business Process Execution Language for Web Services
CORBA
Common Object Request Broker Architecture
CRUD
Create, Read, Update and Delete
DCOM
Distributed Component Object Model
ebXML
Electronic Business XML
FTP
File Transfer Protocol
GWSBP
General Web Services Base Profile
HTTP
Hypertext Transport Protocol
HTTPS
Secure Hypertext Transport Protocol
IAF
IMS Abstract Framework
IMS/GLC
IMS Global Learning Consortium
IPSec
IP Security
LAN
Local Area Network
IIOP
Internet Inter-ORB Protocol
MIME
Multipurpose Internet Mail Extensions
MOM
Middleware Oriented Messaging
MTOM
Message Transmission Optimization Mechanism
POS
Point of Service
REST
Representational State Transfer
RPC
Remote Procedure Call
SAML
Security Assertion Mark-up Language
SAP
Service Access Point
SLA
Service Level Agreement
SMTP
Simple Mail Transfer Protocol
SOAP
Simple Object Access Protocol
SOAPwA
SOAP with Attachment
SSL
Secure Socket Layer
TCP/IP
Transmission Control Protocol/Internet Protocol
TLS
Transport Layer Security
UDDI
Universal Description Discovery & Integration
UML
Unified Modelling Language
URI
Universal Resource Identifier
URL
Universal Resource Locator
VLE
Virtual Learning Environment
VPN
Virtual Private Network
W3C
World Wide Web Consortium
WAN
Wide Area Network
WS-CDL
Web Services Choreography Description Language
WSA
Web Service Architecture
WSDL
Web Services Description Language
WS-I
Web Services Interoperability Organization
XMI
XML Metadata Interface
XML
Extensible Mark-up Language
XSD
XML Schema Definition
XSLT
Extensible Stylesheet Language Transformations

1.4 References

[AbsASCs, 03]
IMS Abstract Framework: Applications, Services & Components v1.0, Ed. C.Smythe, IMS/GLC, July 2003.
[AbsGloss, 03]
IMS Abstract Framework: Glossary v1.0, Ed. C.Smythe, IMS/GLC, July 2003.
[AbsWhite, 03]
IMS Abstract Framework: White Paper v1.0, Ed. C.Smythe, IMS/GLC, July 2003.
[APG, 05a]
IMS Application Profile Guidelines Whitepaper: Part 1 Management Overview, S.Wilson and K.Riley, Version 1.0, IMS/GLC, October 2005.
[APG, 05b]
IMS Application Profile Guidelines Whitepaper: Part 2 Technical Manual, S.Wilson and K.Riley, Version 1.0, IMS/GLC, October 2005.
[BPEL, 03]
Business Process Execution Language for Web Services, T.Andrews, F.Curbera, H.Dholakia, Y.Goland, J.Klein, F.Leymann.K.Liu, D.Roller, D.Smith, S.Thatte, I.Trickovic and S. Weerawarana, V1.1, BEA Systems, IBM, Microsoft, SAP and Siebel Systems, May 2003.
[Cockburn, 01]
Writing Effective Use-case, A.Cockburn, Addison-Wesley, 2001, ISBN 0-201-70225-8.
[ebXML, 01]
Message Service Specification ebXML Transport, Routing & Packaging, ebXML, Version 1.0, May 2001.
[GWS, 03a]
General Web Services Project Team Charter, C.Schroeder, R.Kleinman and S.Griffin, IMS/GLC, June 2003.
[GWS, 05a]
IMS General Web Services Addressing Profile Final Release, C.Schroeder, J.Simon and C.Smythe, V1.0 IMS/GLC, December 2005.
[GWS, 05b]
IMS General Web Services Attachments Profile Final Release, C.Schroeder, J.Simon and C.Smythe, V1.0 IMS/GLC, December 2005.
[GWS, 05c]
IMS General Web Services Security Profile Final Release, C.Schroeder, J.Simon and C.Smythe, V1.0 IMS/GLC, December 2005.
[GWS, 05d]
IMS General Web Services WSDL Binding Guidelines Final Release, C.Schroeder, J.Simon and C.Smythe, V1.0 IMS/GLC, December 2005.
[GWS, 05e]
IMS Binding Auto-generation Toolkit Manual, C.Smythe, V1.0 IMS/GLC, December 2005.
[GWS, 05f]
IMS General Web Services UML to WSDL Binding Auto-generation Guidelines Public Draft, C.Schroeder, S.Raju and C.Smythe, V1.0 IMS/GLC, January 2005
[MTOM, 05]
SOAP Message Transmission Optimization Mechanism, http://www.w3.org/TR/2004/CR-soap12-mtom-20040826/, August 2004.
[SOAP, 01a]
SOAP Messages with Attachments, W3C, W3C Note 11, December 2000.
[SOAP, 03a]
SOAP Version 1.2 Part 1: Messaging Framework, W3C, W3C Final Specification, June 2003.
[SOAP, 03b]
SOAP Version 1.2 Part 2: Adjuncts, W3C, W3C Final Specification, June 2003.
[SpecDev, 03]
IMS Specification Development Methods & Best Practices Draft v5.0, C.Smythe, IMS/GLC, Sept 2003.
[WSA, 03]
Web Services Architecture, D.Booth, H.Haas, F.McCabe, E.Newcomer, M.Champion, C.Ferris and D.Orchard, http://www.w3.org/TR/ws-arch/ W3C, W3C Working Draft, August 2003.
[WSAddress, 04]
W3C WS-Addressing Submission, http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810, W3C, August 2004.
[WSDL, 01]
Web Services Description Language, http://www.w3.org/TR/2001/NOTE-wsdl-20010315, Version 1.1, W3C, W3C Note, March 2001.
[WSDL, 04]
Web Services Description Language, Version 2.0, W3C, W3C Working Draft 3, August 2004.
[WSI, 03]
Web Services Interoperability Basic Profile Version 1.0a, Eds K.Ballinger, D.Ehnebuske, M.Gudgin, M.Nottingham and P.Yendluri, Web Services-Interoperability Organization, August 2003.
[WSI, 04a]
Web Services Interoperability Basic Profile Version 1.1, Eds K.Ballinger, D.Ehnebuske, C.Ferris, M.Gudgin, C.K.Liu, M.Nottingham and P.Yendluri, Web Services-Interoperability Organization, August 2004.
[WSI, 04b]
WS-I Attachments Profile Version 1.0, Eds C.Ferris, A.Karmarkar and C.K.Liu, Web Services-Interoperability Organization, August 2004.
[WSI, 04c]
WS-I Conformance Claim Attachment Mechanisms Version 1.0, Eds M.Nottingham and C. von Riegen, Web Services-Interoperability Organization, November 2004.
[WSI, 04d]
WS-I Simple SOAP Binding Profile Version 1.0, Ed M.Nottingham, Web Services-Interoperability Organization, August 2004.
[WSR, 03]
Web Services Reliability (WS-Reliability), Version 1, OASIS Specification, OASIS, January 2003.
[XML, 04]
Extensible Markup Language (XML) 1.0 (Third Edition), T.Bray, J.Paoli, C.M.Sperberg-McQueen, E.Maler and F.Yergeau, W3C, W3C Recommendation, February 2004.
[XSD, 01]
XML Schema Part 0: Primer, Ed. D.C.Fallside, W3C, W3C Recommendation, May 2001.

2. Context for the GWS Profiles

2.1 Syntax Conventions

2.1.1 Recommendations from the IMS Abstract Framework

All IMS service-oriented specifications will be defined in the context of the IMS Abstract Framework [AbsWhite, 03], [AbsASC, 03], [AbsGloss, 03]. Web services are one possible binding of an IMS service-oriented specification. Section 4 of this document describes how an IMS specification as defined by an Information Model is related to web services through the appropriate 'Infrastructure Binding'.

2.1.2 Recommendations from the International Conformance Program

The IMS International Conformance Program is responsible for defining how a particular information model and binding is constrained to support a particular domain in the form of an Application Profile Guidelines [APG, 05a], [APG, 05b]. Support for Conformance Testing will be added where appropriate, e.g., the WS-I enables conformance statements to be added to a WSDL file.

2.1.3 Recommendations from the IMS Binding Auto-generation Toolkit

The IMS Binding Auto-generation Toolkit document describes how the Unified Modelling Language (UML) is to be used to document an IMS information model [GWS, 05e]. The UML description is designed to facilitate the corresponding bindings, i.e., the UML description is not designed from the perspective of implementation as an Application Programming Interface (API). The UML description is also made available as an XML Metadata Interface (XMI) file; this enables tools to import the UML description and generate the corresponding code stubs. IMS has developed XML Stylesheet Language Transformations (XSLT) files to support automated UML conversion to WSDL, etc. The usage of these XSLTs and the corresponding tool is explained in the IMS Binding Auto-generation Toolkit Manual [GWS, 05e].

2.1.4 Recommendations from W3C Web Service Architecture

The Web Service Architecture (WSA) is a normative document that seeks to provide a context and model for understanding Web services and to facilitate placing Web services specifications and technologies within a larger Web Services framework and with other technologies outside of WSA. The WSA's goal is to promote interoperability through the common definition of a web service and its core concepts and relationships. The purpose of WSA is not to specify how Web services are implemented or to impose restrictions on combination or coordination of Web services. WSA provides discussion of the WSA's core concepts and relationships from various perspectives. Where appropriate, IMS will use the WSA in the IAF.

For more information on the Web Services Architecture, go to W3C Web Services Architecture (http://www.w3.org/TR/ws-arch/).

2.1.5 Recommendations from Web Services Interoperability Basic Profile

The IMS GWS Base Profile is based upon the WS-I Basic Profile v1.1 [WSI, 04a] and the WS-I Simple SOAP Binding Profile v1.0 [WSI, 04d]. The WS-I Basic Profile is shown in Table 2.1.

Table 2.1 WS-I basic profile v1.1.

Core Specification Description
XML Schema V1.0
All data models will be defined in terms of XML Schema and will require the definition of the corresponding control documents (XSD).
HTTP V1.1 (RFC2616)
HTTP is the mandated protocol binding for the SOAP messages.
SOAP V1.1
SOAP is the mandated messaging protocol.
WSDL V1.1
An instance of the service is defined using WSDL v1.1. WSDL is used to enable the description of services as sets of endpoints operating on messages.
UDDI V2.0
An instance of the service may be defined using a UDDI v2.0 binding.

It is recognized that SOAP v1.2 and WSDL v2.0 are available as later versions of the SOAP and WSDL specifications respectively. SOAP v1.2 and WSDL v2.0 will be considered for future revisions.. It should be noted, that from the perspective of adopted specifications, the combination of the WS-I Basic Profile v1.1 and Simple SOAP Binding Profile v1.0 is identical to the WS-I Basic Profile v1.0a [WSI, 03].

2.2 Core Technologies

2.2.1 XML

XML 1.0 (Third Edition) is the core data representation technology adopted for the binding of IMS specifications [XML, 04]. An IMS data-model oriented information model can be defined as a hierarchy. Hierarchical models are convenient for representing data consisting of many elements and sub-elements. XML is perfectly suited for representing hierarchical models.

2.2.2 XML Schemas

XML Schema Definition (XSD) is the primary XML binding control document format of IMS (at present these bindings are working to the May 2001 version of XML Schema) [XSD, 01]. The XSD defines elements, their content models, and attributes. It also defines the standard IMS vocabularies. The XSD defines the element types and attribute groups separately from the elements. The key recommendations for XML Schema with respect to the Base Profile are:

  1. When used in the context of SOAP messages all data constructs should be defined as elements. Attributes should not be used. This follows the recommendation of the WS-I;
  2. All data types should be defined as 'Global'. The usage of 'Local' data types causes problems for some of the WSDL import tools, e.g., Axis;
  3. All data types should have the character string ".Type" at the end of their name. This avoids naming conflicts between instances and their types.

2.2.3 SOAP

SOAP is a messaging protocol for XML documents which can be used for exchanging structured and typed information between peers in a decentralized, distributed environment [SOAP, 03a], [SOAP, 03b]. It is a stateless, one-way message exchange mechanism, but applications can create more complex interaction patterns (e.g., request/response, request/multiple responses, etc.) by combining such one-way exchanges with features provided by an underlying transport protocol and/or application-specific information. SOAP provides the framework by which application-specific information may be conveyed in an extensible manner. Also, SOAP provides a full description of the expected actions taken by a SOAP processor on receiving a SOAP message.

A SOAP message contains two SOAP-specific sub-elements within the overall Envelope: the 'Header' and 'Body'. The contents of these elements are application defined and not a part of the SOAP specifications, although the latter does have something to say about how such elements must be handled. The 'Header' is optional. Headers have been designed in anticipation of various uses for SOAP, many of which will involve the participation of other SOAP processing nodes along a message's path from a sender to an ultimate receiver, to allow SOAP processors to exchange information to provide value-added services. These form the mechanism by which SOAP messages may be extended in an application-specific manner. The 'Body' is the mandatory element within an Envelope and this is where the main information conveyed in a SOAP message must be carried. The immediate child elements of a 'Header' are called header blocks, and represent some logical grouping of data that can be targeted at SOAP nodes encountered in the path of a message from a sender to a receiver.

The SOAP envelope is the container for the messages to be exchanged between the systems. These messages need to be physically transmitted across the communications system using an appropriate transport mechanism. In many cases the Hypertext Transport Protocol (HTTP) is used as this transport mechanism. The key recommendations for XML Schema with respect to the Base Profiles are:

  1. Only bindings based upon SOAPv1.1 across HTTPv1.1 are supported;
  2. The SOAP message body contains all of the parameters defined in the corresponding operation;
  3. The status information is to be placed in the SOAP message header.

2.2.4 WS-Addressing

Web Services Addressing (WS-Addressing) defines two interoperable constructs that convey information that is typically provided by transport protocols and messaging systems. These constructs normalize this underlying information into a uniform format that can be processed independently of transport or application. The two constructs are 'endpoint references' and 'message information' headers. Both of these constructs are designed to be extensible and re-usable so that other specifications can build on and leverage endpoint references and message information headers.

A Web service endpoint is a (referenceable) entity, processor, or resource where Web service messages can be targeted. Endpoint references convey the information needed to identify/reference a Web service endpoint, and may be used in several different ways: endpoint references are suitable for conveying the information needed to access a Web service endpoint, but are also used to provide addresses for individual messages sent to and from Web services. To deal with this last usage case this specification defines a family of message information headers that allows uniform addressing of messages independent of underlying transport. These message information headers convey end-to-end message characteristics including addressing for source and destination endpoints as well as message identity.

2.2.5 Attachments for SOAP Messages

Attachments for SOAP messages are available in several forms:

  1. SOAP with Attachments (SOAPwA) - SOAP With Attachments (SOAPwA) extends SOAPv1.1 by providing a MIME binding to support multiple message payloads, while ignoring the convention by which Remote Procedure Call (RPC) arguments may be marshalled and unmarshalled in XML. SOAPwA is especially suited for use cases where the two communicating parties are NOT located within the same organization, and the exchange paradigm is therefore more one of asynchronous Document Exchange across the Internet, than synchronous Remote Procedure Call within a single business (or University) enterprise;
  2. WS-Attachments - this specification defines an abstract model for SOAP attachments and based on this model defines a mechanism for encapsulating a SOAP message and zero or more attachments in a DIME message. SOAP attachments are described using the notion of a compound document structure consisting of a primary SOAP message and zero or more related documents known as attachments;
  3. Message Transmission Optimization Mechanism (MTOM) - MTOM is one of the W3C message attachment approaches to enable SOAP messages to contain non-XML objects. MTOM is a development of SOAPwA and is proposed as a replacement for the original SOAPwA specification.

The equivalent attachments recommendations for IMS GWS are defined in the IMS GWS Attachments Profile document [GWS, 05b].

2.2.6 WSDL

A WSDL document defines services as collections of network endpoints, or ports. In WSDL, the abstract definition of endpoints and messages is separated from their concrete network deployment or data format bindings. This allows the reuse of abstract definitions: messages, which are abstract descriptions of the data being exchanged, and port types that are abstract collections of operations. The concrete protocol and data format specifications for a particular port type constitute a reusable binding. A port is defined by associating a network address with a reusable binding and a collection of ports defines a service. Hence, a WSDL document uses the following elements in the definition of network services:

The key recommendations for WSDL with respect to the Base Profile are:

  1. A separate set of WSDL files are defined for each type of communication mode being supported by the binding and there will be one form of the WSDL binding will be contained within a single physical file;
  2. Alternatively there will be a split file binding in which the XSD information is defined in a separate file from that which contains the rest of the WSDL definition. The WSDL file imports the XSD definitions using the <xsd:import> construct;
  3. The second alternative is to have the WSDL definition split into the service specific and abstract files plus the XSD, i.e., to create three separate but linked files. The service-specific file imports the abstract definitions using the <wsdl:import> construct and the abstract definitions file imports the XSD definitions using the <xsd:import> construct;
  4. The final alternative is to have the two separate WSDL files plus several XSD files. The data schema and the message structure schema will be defined in separate files. The message structure XSD will contain all of the messages required for the different communication modes to be supported.

2.2.7 WS-Security

WS-Security defines a standard way to incorporate security information into a SOAP message using existing security standards for confidentiality, integrity, non-repudiation, authentication and authorization. WS-Security provides a method for representing security information in a SOAP message. WS-Security defines a way to pass security tokens, such as a simple username, SAML, X.509 certificates and Kerberos tickets, a mechanism using XML Signature to digitally sign all or part of a SOAP message, a mechanism using XML Encryption to encrypt part of a SOAP message and a method for attaching signature and encryption headers to a SOAP message. The equivalent security profile for IMS GWS is defined in the IMS GWS Security Profile [GWS, 05c].

2.2.8 Choreography

IMS plans to adopt the appropriate message and service choreography specifications, as opposed to creating its own. The underlying message choreography support in the GWS bindings are detailed in Section 5 of this document. Reliable messaging is only supported as a feature of the underlying communications infrastructure, e.g., through the usage of the Transmission Control Protocol (TCP). When stable, the following specifications will be adopted:

  1. Web Services Reliable Messaging Framework (WS-Reliability) [WSR, 03] - the purpose of WS-Reliability is to address reliable messaging requirements, which become critical, for example, when using Web Services in B2B applications. SOAP [SOAP1.1] over HTTP [RFC2616] is not sufficient when an application-level messaging protocol must also address reliability and security. While security is getting traction in the development of Web Services standards, reliability is not. This specification is intended as an initial proposal for defining reliability in the context of current Web Services standards. The specification borrows from previous work in messaging an transport protocols, e.g., SOAP, and the ebXML Message Service. It proposes appropriate modifications to apply this work to Web Services;
  2. Web Services Choreography Description Language Version 1.0 (W3C Working Draft 27 April 2004) - Web Services Choreography Description Language (WS-CDL) is an XML-based language that describes peer-to-peer collaborations of Web Services participants by defining, from a global viewpoint, their common and complementary observable behavior; where ordered message exchanges result in accomplishing a common business goal. The Web Services specifications offer a communication bridge between the heterogeneous computational environments used to develop and host applications. The Web Services Choreography specification is targeted for composing interoperable peer-to-peer collaborations between any type of Web Service participant regardless of the supporting platform or programming model used by the implementation of the hosting environment;
  3. Business Process Execution Language for Web Services (BPEL4WS - BPEL4WS (or BPEL for short) is an XML-based standard for defining Web services can be combined to implement business processes [BPEL, 03]. It builds WSDL and XSD. BPEL provides an XML notation and semantics for specifying business process behavior based on Web Services. A BPEL4WS process is defined in terms of its interactions with partners. A partner may provide services to the process, require services from the process, or participate in a two-way interaction with the process. Thus BPEL orchestrates Web Services by specifying the order in which it is meaningful to call a collection of services, and assigns responsibilities for each of the services to partners. It can be used to specify both the public interfaces for the partners and the description of the executable process.

3. Base Profile Rules

3.1 IMS Base Profile

The IMS GWS Base Profile is defined in Table 3.1. The only difference between this profile and that of the WS-I Basic Profile/Simple SOAP Binding Profile is that the UDDI specification is not included in the profile.

Table 3.1 IMS GWS base profile.

Core Specification Description
XML Schema V1.0
All data models in IMS specifications will be defined in terms of XML Schema and will require the definition of the corresponding control documents (XSD).
HTTPv1.1
HTTP is the mandated protocol binding for the SOAP messages.
SOAP V1.1
SOAP is the mandated messaging protocol.
WSDL V1.1
An instance of the service is defined using WSDL v1.1.

3.2 Base Profile Rules Derived from WS-I Basic Profile

Table 3.2 summarizes the set of rules used in the WS-I Basic Profile v1.1 and their equivalent adoption status for the IMS GWS Base Profile. Within Table 3.2 the following conventions are used:

Table 3.2 Summary of the WS-I basic profile rules.

Rule Description IMS GWS Relevance
Profile Conformance
R0002
A DESCRIPTION MAY contain conformance claims regarding instances, as specified in the conformance claim schema.
The mechanism for conformance claims will be addressed in GWS 2.0.
R0003
A DESCRIPTION's conformance claims MUST be children of the <wsdl:documentation> element of each of the elements: <wsdl:port>, <wsdl:binding, wsdl:portType>, <wsdl:operation> (as a child element of <wsdl:portType> but not of <wsdl:binding) and <wsdl:message>.
The mechanism for conformance claims will be addressed in GWS 2.0.
Messaging
R9980
An ENVELOPE MUST conform to the structure specified in SOAP 1.1 Section 4, "SOAP Envelope" (subject to amendment by the Profile).
Adopted.
R1015
A RECEIVER MUST generate a fault if they encounter a message whose document element has a local name of Envelope but a namespace name that is not <soap:Envelop>
Adopted.
R1014
The children of the <soap:Body> element in a MESSAGE MUST be namespace qualified.
Adopted.
R1008
A MESSAGE MUST NOT contain a Document Type Declaration.
Adopted.
R1009
A MESSAGE MUST NOT contain Processing Instructions.
Adopted.
R1033
An ENVELOPE SHOULD NOT contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".
Adopted.
R1034
A DESCRIPTION SHOULD NOT contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".
Adopted.
R1011
MESSAGE MUST NOT have any element children of <soap:Envelope> following the <soap:Body element.
Adopted.
R1005
A MESSAGE MUST NOT contain <soap:encodingStyle> attributes on any of the elements whose namespace name is "http://schemas.xmlsoap.org/soap/envelope/".
Adopted.
R1006
A MESSAGE MUST NOT contain <soap:encodingStyle> attributes on any element that is a child of <soap:Body>.
Adopted.
R1007
A MESSAGE described in an rpc-literal binding MUST NOT contain <soap:encodingStyle> attribute on any elements are grandchildren of <soap:Body>.
Rejected. 'rpc-literal' bindings are not supported.
R1013
<soap:mustUnderstand> attribute MUST only use the lexical forms "0" and "1".
Adopted.
R1017
A RECEIVER MUST NOT mandate the use of the 'xsi:type' attribute in messages except as required in order to indicate a derived type (see XML Schema Part 1: Structures, Section 2.6.1).
Adopted.
R1032
The soap:Envelope, soap:Header, and soap:Body elements in an ENVELOPE MUST NOT have attributes in the namespace "http://schemas.xmlsoap.org/soap/envelope/".
Adopted.
R1025
A RECEIVER MUST handle messages in such a way that it appears that all checking of mandatory header blocks is performed before any actual processing.
Adopted.
R1027
A RECEIVER MUST generate a "soap:MustUnderstand" fault when a message contains a mandatory header block (i.e., one that has a <soap:mustUnderstand> attribute with the value "1") targeted at the receiver (via <soap:actor>) that the receiver does not understand.
Adopted.
R1028
When a Fault is generated by a RECEIVER, further processing SHOULD NOT be performed on the SOAP message aside from that which is necessary to rollback, or compensate for, any effects of processing the message prior to the generation of the Fault.
Adopted.
R1029
Where the normal outcome of processing a SOAP message would have resulted in the transmission of a SOAP response, but rather a SOAP Fault is generated instead, a RECEIVER MUST transmit a SOAP Fault message in place of the response.
Adopted.
R1030
RECEIVER that generates a fault SHOULD notify the end user that a fault has been generated when practical, by whatever means is deemed appropriate to the circumstance.
Adopted.
R1107
A RECEIVER MUST interpret SOAP messages containing only a <soap:Fault> element as a Fault.
Adopted.
R1000
When a MESSAGE contains a <soap:Fault> element, that element MUST NOT have element children other than 'faultcode', 'faultstring', 'faultactor' and 'detail'.
Adopted.
R1001
When a MESSAGE contains a <soap:Fault> element its element children MUST be unqualified.
Adopted.
R1002
A RECEIVER MUST accept fault messages that have any number of elements, including zero, appearing as children of the <detail> element. Such children can be qualified or unqualified.
Adopted.
R1003
A RECEIVER MUST accept fault messages that have any number of qualified or unqualified attributes, including zero, appearing on the detail element. The namespace of qualified attributes can be anything other than "http://schemas.xmlsoap.org/soap/envelope/".
Adopted.
R1016
A RECEIVER MUST accept fault messages that carry an 'xml:lang' attribute on the <faultstring> element.
Adopted.
R1004
When a MESSAGE contains a <faultcode> element the content of that element SHOULD be one of the fault codes defined in SOAP 1.1 or a namespace qualified fault code.
Adopted.
R1031
When a MESSAGE contains a <faultcode> element the content of that element SHOULD NOT use of the SOAP 1.1 "dot" notation to refine the meaning of the Fault.
Adopted.
R1140
MESSAGE SHOULD be sent using HTTP/1.1.
Adopted.
R1141
MESSAGE MUST be sent using either HTTP/1.1 or HTTP/1.0.
Adopted. HTTP/1.0 support is implied by supporting HTTP/1.1.
R1132
A HTTP request MESSAGE MUST use the HTTP POST method.
Adopted.
R1108
A MESSAGE MUST NOT use the HTTP Extension Framework (RFC2774).
Adopted.
R1109
The value of the 'SOAPAction' HTTP header field in a HTTP request MESSAGE MUST be a quoted string.
Adopted.
R1119
A RECEIVER MAY respond with a Fault if the value of the 'SOAPAction' HTTP header field is not quoted.
Adopted.
R1127
A RECEIVER MUST NOT rely on the value of the SOAPAction HTTP header to correctly process the message.
Adopted.
R1124
An INSTANCE MUST use a 2xx HTTP status code for responses that indicate a successful outcome of a request.
Adopted.
R1111
An INSTANCE SHOULD use a "200 OK" HTTP status code for responses that contain a SOAP message that is not a SOAP fault.
Adopted.
R1112
An INSTANCE SHOULD use either a "200 OK" or "202 Accepted" R1130 HTTP status code for a response that does do not contain a SOAP message but indicates successful HTTP outcome of a request.
Adopted.
R1130
An INSTANCE MUST use HTTP status code "307 Temporary Redirect" when redirecting a request to a different endpoint.
Adopted.
R1131
A CONSUMER MAY automatically redirect a request when it encounters a "307 Temporary Redirect" HTTP status code in a response.
Adopted.
R1125
An INSTANCE MUST use a 4xx HTTP status code for responses that indicate a problem with the format of the request.
Adopted.
R1113
An INSTANCE SHOULD use a "400 Bad Request" HTTP status code, if the request message is a malformed HTTP request, or not well-formed XML.
Adopted.
R1114
An INSTANCE SHOULD use a "405 Method not Allowed" HTTP status code if the request method was not "POST".
Adopted.
R1115
An INSTANCE SHOULD use a "415 Unsupported Media Type" HTTP status code if the Content-Type HTTP request header did not have a value consistent with the value specified for the corresponding binding of the input message.
Adopted.
R1126
An INSTANCE MUST use a "500 Internal Server Error" HTTP status code if the response message is a SOAP Fault.
Adopted.
R1120
An INSTANCE MAY use the HTTP state mechanism ("Cookies").
Rejected. "Cookies" are not to be used.
R1122
An INSTANCE using Cookies SHOULD conform to RFC2965.
Rejected. "Cookies" are not to be used.
R1121
An INSTANCE SHOULD NOT require consumer support for Cookies in order to function correctly.
Rejected. "Cookies" are not to be used.
R1123
The value of the cookie MUST be considered to be opaque by the CONSUMER.
Rejected. "Cookies" are not to be used.
Service Description
R0001
An INSTANCE MUST be described by a WSDL 1.1 service description, by a UDDI binding template, or both.
An instance will be described by a WSDL 1.1 service description.
R2028
A DESCRIPTION using the WSDL namespace MUST be valid according to the XML Schema found at "http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd".
Adopted. The prefix used in the WS-I profile may be changed.
R2029
A DESCRIPTION using the WSDL SOAP binding namespace MUST be valid according to the XML Schema found at "http://schemas.xmlsoap.org/wsdl/soap/2003-02-11.xsd"
Adopted. The prefix used in the WS-I profile may be changed.
R2001
A DESCRIPTION MUST only use the WSDL "import" statement to import another WSDL description.
Adopted. This method is used to import the abstract definitions file into the service specific file.
R2803
In a DESCRIPTION, the namespace attribute of the wsdl:import MUST NOT be a relative URI.
Adopted.
R2002
To import XML Schema Definitions, a DESCRIPTION MUST use the XML Schema "import" statement.
Adopted. This method is used to import the XSD descriptions.
R2003
A DESCRIPTION MUST use the XML Schema "import" statement only within the <xs:schema> element of the types section.
Adopted.
R2004
A DESCRIPTION MUST NOT use the XML Schema "import" statement to import a Schema from any document whose root element is not "schema" from the namespace "http://www.w3.org/2001/XMLSchema".
Adopted.
R2009
An XML Schema directly or indirectly imported by a DESCRIPTION MAY include the Unicode Byte Order Mark (BOM).
Adopted.
R2010
An XML Schema directly or indirectly imported by a DESCRIPTION MUST use either UTF-8 or UTF-16 encoding.
Adopted.
R2011
An XML Schema directly or indirectly imported by a DESCRIPTION MUST use version 1.0 of the Extensible Markup Language W3C Recommendation.
Adopted.
R2007
A DESCRIPTION MUST specify a non-empty location attribute on the <wsdl:import> element.
Adopted. The location will be based upon the URL root of: http://www.imsglobal.org/services/..
R2008
In a DESCRIPTION the value of the location attribute of a <wsdl:import> element SHOULD be treated as a hint.
Adopted.
R2022
When they appear in a DESCRIPTION, <wsdl:import> elements MUST precede all other elements from the WSDL namespace except <wsdl:documentation>.
Adopted.
R2023
When they appear in a DESCRIPTION, <wsdl:types> elements MUST precede all other elements from the WSDL namespace except <wsdl:documentation> and <wsdl:import>.
Adopted.
R4004
A DESCRIPTION MUST use version 1.0 of the Extensible Markup Language W3C Recommendation.
Adopted.
R4005
A DESCRIPTION SHOULD NOT contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".
Adopted.
R4002
A DESCRIPTION MAY include the Unicode Byte Order Mark (BOM).
Adopted.
R4003
DESCRIPTION MUST use either UTF-8 or UTF-16 encoding.
Adopted.
R2005
The 'targetNamespace' attribute on the <wsdl:definitions> element of a description that is being imported MUST have the same value as the namespace attribute on the <wsdl:import> element in the importing DESCRIPTION.
Adopted.
R2030
In a DESCRIPTION the <wsdl:documentation> element MAY be present as the first child element of <wsdl:import>, <wsdl:part> and <wsdl:definitions> in addition to the elements cited in the WSDL1.1 specification.
Adopted.
R2025
A DESCRIPTION containing WSDL extensions MUST NOT use them to contradict other requirements of the Profile.
Adopted.
R2026
A DESCRIPTION SHOULD NOT include extension elements with a 'wsdl:required' attribute value of "true" on any WSDL construct (<wsdl:binding>, <wsdl:portType>, <wsdl:message>, <wsdl:types> or <wsdl:import>) that claims conformance to the Profile.
Adopted.
R2027
If during the processing of an element in the WSDL namespace in a description, a consumer encounters a WSDL extension element amongst its element children, that has a <wsdl:required> attribute with a boolean value of "true" that the consumer does not understand or cannot process, the CONSUMER MUST fail processing of that element in the WSDL namespace.
Adopted.
R2101
A DESCRIPTION MUST NOT use QName references to elements in namespaces that have been neither imported, nor defined in the referring WSDL document.
Adopted.
R2102
A QName reference to a Schema component in a DESCRIPTION MUST use the namespace defined in the 'targetNamespace' attribute on the <xs:schema> element, or to a namespace defined in the namespace attribute on an <xs:import> element within the <xs:schema> element.
Adopted.
R2105
All <xs:schema> elements contained in a <wsdl:types> element of a DESCRIPTION MUST have a 'targetNamespace' attribute with a valid and non-null value, UNLESS the <xs:schema> element has <xs:import> and/or <xs:annotation> as its only child element(s).
Adopted.
R2110
In a DESCRIPTION, array declarations MUST NOT extend or restrict the 'soapenc:Array' type.
Adopted.
R2111
In a DESCRIPTION, array declarations MUST NOT use 'wsdl:arrayType' attribute in the type declaration.
Adopted.
R2112
In a DESCRIPTION, array declaration wrapper elements SHOULD NOT be named using the convention ArrayOfXXX.
Adopted.
R2113
A MESSAGE containing serialized arrays MUST NOT include the 'soapenc:arrayType' attribute.
Adopted.
R2114
The target namespace for WSDL definitions and the target namespace for schema definitions in a DESCRIPTION MAY be the same.
Adopted.
R2201
A document-literal binding in a DESCRIPTION MUST, in each of its <soapbind:body> element(s), have at most one part listed in the parts attribute, if the parts attribute is specified.
Adopted.
R2209
A <wsdl:binding> in a DESCRIPTION SHOULD bind every <wsdl:part> of a <wsdl:message> in the <wsdl:portType> to which it refers to one of <soapbind:body>, <soapbind:header>, <soapbind:fault> or <soapbind:headerfault>.
Adopted.
R2210
If a document-literal binding in a DESCRIPTION does not specify the parts attribute on a <soapbind:body> element, the corresponding abstract <wsdl:message> MUST define zero or one <wsdl:parts>.
Adopted. Every message will have one <wsdl:part> for the SOAP message body.
R2202
A <wsdl:binding> in a DESCRIPTION MAY contain <soapbind:body> element(s) that specify that zero parts form the <soap:Body>.
Every message will have one part for the <soap:Body>.
R2203
An rpc-literal binding in a DESCRIPTION MUST refer, in its <soapbind:body> element(s), only to <wsdl:part> element(s) that have been defined using the type attribute.
Rejected. 'rpc-literal' bindings are not supported.
R2211
A MESSAGE described with an rpc-literal binding MUST NOT have the 'xsi:nil' attribute with a value of "1" or "true" on the part accessors.
Rejected. 'rpc-literal' bindings are not supported.
R2207
A <wsdl:message> in a DESCRIPTION MAY contain <wsdl:parts> that use the elements attribute provided those <wsdl:parts> are not referred to by a <soapbind:body> in an rpc-literal binding.
Rejected. 'rpc-literal' bindings are not supported.
R2204
A document-literal binding in a DESCRIPTION MUST refer, in each of its <soapbind:body> element(s), only to <wsdl:part> element(s) that have been defined using the element attribute.
Adopted.
R2208
A binding in a DESCRIPTION MAY contain <soapbind:header> element(s) that refer to <wsdl:parts> in the same <wsdl:message> that are referred to by its <soapbind:body> element(s).
Adopted.
R2212
An ENVELOPE MUST contain exactly one part accessor element for each of the <wsdl:part> elements bound to the envelope's corresponding <soapbind:body> element.
Adopted.
R2213
In a doc-literal description where the value of the parts attribute of soapbind:body is an empty string, the corresponding ENVELOPE MUST have no element content in the <soap:Body> element.
The value of the parts attribute of 'soapbind:body' will never be an empty string,
R2214
In a rpc-literal description where the value of the parts attribute of 'soapbind:body' is an empty string, the corresponding ENVELOPE MUST have no part accessor elements.
Rejected. 'rpc-literal' bindings are not supported.
R2205
A <wsdl:binding> in a DESCRIPTION MUST refer, in each of its <soapbind:header>, <soapbind:headerfault> and <soapbind:fault> elements, only to <wsdl:part> element(s) that have been defined using the element attribute.
Adopted.
R2206
A <wsdl:message> in a DESCRIPTION containing a <wsdl:part> that uses the element attribute MUST refer, in that attribute, to a global element declaration.
Adopted.
R2301
The order of the elements in the <soap:body> of a MESSAGE MUST be the same as that of the <wsdl:parts> in the <wsdl:message> that describes it.
Adopted.
R2302
A DESCRIPTION MAY use the 'parameterOrder' attribute of an <wsdl:operation> element to indicate the return value and method signatures as a hint to code generators.
Adopted.
R2303
A DESCRIPTION MUST NOT use Solicit-Response and Notification type operations in a <wsdl:portType> definition.
Adopted.
R2304
A <wsdl:portType> in a DESCRIPTION MUST have operations with distinct values for their name attributes.
Adopted.
R2305
A <wsdl:portType> in a DESCRIPTION MUST be constructed so that the 'parameterOrder' attribute, if present, omits at most one <wsdl:part> from the output message.
Adopted.
R2306
A <wsdl:message> in a DESCRIPTION MUST NOT specify both type and element attributes on the same <wsdl:part>.
Adopted.
R2401
A <wsdl:binding> element in a DESCRIPTION MUST use WSDL SOAP Binding as defined in WSDL 1.1 Section 3.
Adopted.
R2701
The <wsdl:binding> element in a DESCRIPTION MUST be constructed so that its <soapbind:binding> child element specifies the transport attribute.
Adopted.
R2702
A <wsdl:binding> element in a DESCRIPTION MUST specify the HTTP transport protocol with SOAP binding. Specifically, the transport attribute of its <soapbind:binding> child MUST have the value "http://schemas.xmlsoap.org/soap/http".
Adopted.
R2705
A <wsdl:binding> in a DESCRIPTION MUST use either a rpc-literal binding or a document-literal binding.
Adopted. The binding will always be based upon 'document-literal'.
R2706
A <wsdl:binding> in a DESCRIPTION MUST use the value of "literal" for the use attribute in all <soapbind:body>, <soapbind:fault>, <soapbind:header> and <soapbind:headerfault> elements.
Adopted.
R2709
A <wsdl:portType> in a DESCRIPTION MAY have zero or more <wsdl:binding> that refer to it, defined in the same or other WSDL documents.
A <wsdl:portType> definition will always result in a <wsdl:binding> definition.
R2710
The operations in a <wsdl:binding> in a DESCRIPTION MUST result in wire signatures that are different from one another.
Adopted.
R2711
A DESCRIPTION SHOULD NOT have more than one <wsdl:port> with the same value for the location attribute of the <soapbind:address> element.
Adopted.
R2712
A document-literal binding MUST be represented on the wire as a MESSAGE with a <soap:Body> whose child element is an instance of the global element declaration referenced by the corresponding <wsdl:message> part.
Adopted.
R2714
For one-way operations, an INSTANCE MUST NOT return a HTTP response that contains a SOAP envelope. Specifically, the HTTP response entity-body must be empty.
Adopted. At the present time all services use Request/Response.
R2750
A CONSUMER MUST ignore a SOAP response carried in a response from a one-way operation.
Adopted. At the present time all services use Request/Response.
R2727
For one-way operations, a CONSUMER MUST NOT interpret a successful HTTP response status code (i.e., 2xx) to mean the message is valid or that the receiver would process it.
Adopted. At the present time all services use Request/Response.
R2716
A document-literal binding in a DESCRIPTION MUST NOT have the namespace attribute specified on contained <soapbind:body>, <soapbind:header>, <soapbind:headerfault> and <soapbind:fault> elements.
Adopted.
R2717
An rpc-literal binding in a DESCRIPTION MUST have the namespace attribute specified, the value of which MUST be an absolute URI, on contained <soapbind:body> elements.
Rejected. 'rpc-literal' bindings are not supported.
R2726
An rpc-literal binding in a DESCRIPTION MUST