| IMS GLC Membership Management Service WSDL/XSD Binding Version 2.0 Final Release Specification Final 1.0

Date Issued: 30 June 2011

Latest version: http://www.imsglobal.org/lis/

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 © 2011 IMS Global Learning Consortium. All Rights Reserved.

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/license.html.

Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

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.

top

# Table of Contents

1. Introduction

1. Scope and Context
2. Structure of this Document
3. Nomenclature
4. References

2. Platform Specific Model of the Binding
   1. Service Description
   2. Data for the Servce Operations
   3. Membership Data Model
   4. File-based Exchange Data Model
3. Application of the Binding Guidelines
4. WSDL File Documentation
   1. Overview
   2. Messages
5. XSD File Documentation
   1. Service Data Model
   2. File Data Model
6. Binding of the Vocabularies
7. Appendix A - Listing of the WSDLs
8. Appendix B - Listing of the XSDs
9. Appendix C - Vocabulary VDEX Instance File Listings
10. Appendix D - Example SOAP Messages
11. About This Document
12. Revision History

top

# 1. Introduction

This document is a part of the IMS GLC Membership Management Service (MMS) v2.0 specification. The binding details how the Membership Management Service Information Model is realised as a Web Service; in the form of a Web Services Description Language (WSDL) file. The MMS binding is contained in a set of WSDL, XSD and vocabulary files. The vocabulary files are instances of the IMS Vocabulary Definition Exchange specification [VDEX, 04a], [VDEX, 04b]. The IMS GLC Learning Information Services (LIS) Best Practice and Implementation Guide [LIS, 11b] provides non-normative guidance on how to use the Binding and Information Model. For a conceptual overview of the LIS Specification, please see the overall services description [LIS, 11a]. For a discussion of potential applications, see the Best Practice Guide.

## 1.1 Scope and Context

The IMS GLC MMS WSDL Binding v2.0 is used in conjunction with the following documents:

1. IMS GLC Membership Management Service Information Model v2.0 [MMS, 11] – the behaviour and data model definition of the Membership Management Service;
2. IMS GLC Learning Information Services Best Practice and Implementation Guide v1.0 [LIS, 11b] – key information on how to adopt and implement the specification.

As such the Membership Management Services specification supersedes the original Enterprise Services specifications:

1. IMS GLC Membership Management Services Information Model Final Specification v1.0 [MMS, 04a];
2. IMS GLC Membership Management Services WSDL Binding Final Specification v1.0 [MMS, 04b].

This WSDL binding takes the Membership Management Service Information Model and produces an encoding of that description in WSDL. This WSDL binding is generated as recommended by the IMS GLC General Web Services documents [GWS, 06a], [GWS, 06b]. The WSDL is created using the IMC GLC Binding Auto-generation Tool-kit (I-BAT) [I-BAT, 06].

## 1.2 Structure of this Document

The structure of this document is:

2. Platform Specific Model of the Binding | The description platform specific models in the form of the IMS GLC UML-Profile service/data models representation of the IMS GLC GMS specification information model. This representation is used by the IMS GLC I-BAT tool to auto-generate the corresponding WSDL/XSDs;
3. Application of the Binding Guidelines | Explanation of how the platform specific model is realised as the WSDL/XSD binding. This addresses how the information model is realised as a Web Service;
4. WSDL File Documentation | The description of the Web Services used to realise the service model components of the binding. This part of the binding document was created using the schema documentation tool provided as part of the Oxygen 12.2 product;
5. XSD File Documentation | The description of the elements used within the data model components of the binding. This part of the binding document was created using the schema documentation tool provided as part of the Oxygen 12.2 product;
6. Vocabulary Binding Using VDEX Instances | Contains the description of how the set of external vocabulary files realised as VDEX files;
Appendix A - Listing of the WSDL Files | This is the full listing of the MMS WSDL files;
Appendix B - Listing of the XSD Files | This is the full listing of the MMS XSD files;
Appendix C - Vocabulary VDEX Instance File Listings | This is the full listing of the set of external vocabulary VDEX instance files;
Appendix D - Examples SOAP Messages | Examples of the SOAP messages that are exchanged to realise the service.

## 1.3 Nomenclature

BDEMS | Bulk Data Exchnage Management Service
HTTP | HyperText Transfer Protocol
I-BAT | IMS GLC Binding Auto-generation Tool-kit
IMS GLC | IMS Global Learning Consortium
LIS | Learning Information Services
MDA | Model Driven Architecture
MMS | Membership Management Service
PIM | Protocol Independent Model
PSM | Platform Specific Model
UML | Unified Modelling Language
VDEX | Vocabulary Definition Exchange
W3C | World Wide Web Consortium
WSDL | Wed Services Description Language
XMI | XML Meta-data Interchange
XML | Extensible Mark-up Language
XSD | XML Schema Definition
XSL | Extensible Stylesheet Language
XSLT | XSL Transformations

## 1.4 References

[GWS, 06a] | IMS GLC General Web Services Base Profile Specification Final Release v1.0, C.Schroeder, J.Simon and C.Smythe, IMS Global Learning Consortium, January 2006.
[GWS, 06b] | IMS GLC General Web Services WSDL Binding Guidelines Final Release v1.0, C.Schroeder, J.Simon and C.Smythe, IMS Global Learning Consortium, January 2006.
[I-BAT, 06] | IMS Binding Auto-generation Toolkit Manual v1.0, C.Smythe, IMS Global Learning Consortium, July 2006.
[LIS, 11a] | IMS GLC Learning Information Services v2.0 Specification Final Release v1.0, L.Feng, B.Lee and C.Smythe, IMS Global Learning Consortium, June 2011.
[LIS, 11b] | IMS GLC Learning Information Services v2.0 Best Practice and Implementation Guide Final Release v1.0, L.Feng, B.Lee and C.Smythe, IMS Global Learning Consortium, June 2011.
[MMS, 04a] | IMS GLC Membership Management Services Information Model Specification Final Release v1.0, C.Vento and C.Smythe, IMS Global Learning Consortium, June 2004.
[MMS, 04b] | IMS GLC Membership Management Services WSDL Binding Specification Final Release v1.0, C.Vento and C.Smythe, IMS Global Learning Consortium, June 2004.
[MMS, 11] | IMS GLC Group Management Services v2.0 Information Model Specification Final Release v1.0, L.Feng, B.Lee and C.Smythe, IMS Global Learning Consortium, June 2011.
[SDN11, 06] | IMS GLC Specification Note 11: Vocabulary Definition, Registration & Maintenance Procedures, C.Smythe, IMS Global Learning Consortium, October 2006.
[VDEX, 04a] | IMS Vocabulary Definition Exchange Information Model Specification Final Release v1.0, A.Cooper, IMS Global Learning Consortium, February 2004.
[VDEX, 04b] | IMS Vocabulary Definition Exchange XML Binding Specification Final Release v1.0, A.Cooper, IMS Global Learning Consortium, February 2004.

top | toc

# 2. Platform Specific Model of the Binding

## 2.1 Service Description

Figure 2.1 is the PSM of the service group model description for the MMS. This information is used to establish the mapping to the binding flavors of WSDL.

Figure 2.1 The PSM representation of the service group model description for the GMS.

Figure 2.2 is the PSM of the service model description for the MMS. The PSM is derived from the Platform Independent Model that was documented within the information model for the MMS specification [MMS, 11].

Figure 2.2 The PSM representation of the service model description for the MMS.

## 2.2 Data for the Service Operations

The data model for the service operations is shown in Figure 2.3 and 2.4. Figure 2.3 shows the data models for the set of parameters. Figure 2.4 is the data model for the Status Information and other WSDL-specific binding data structures.

Figure 2.3 The PSM representation of the parameters data model description for the MMS.

Figure 2.4 The PSM representation of the status information data model description for the MMS.

## 2.3 Membership Data Model

The PSM for the Membership data models are shown in Figures 2.5 and 2.6. Figure 2.5 is the Group data model and Figure 2.6 contains the set of common data model classes.

Figure 2.5 The PSM representation of the Membership data model description for the MMS.

Figure 2.6 The PSM representation of the common data models description for the MMS.

## 2.4 File-based Data Exchange Data Model

The PSM for the file-based Membership data models are shown in Figures 2.7 and 2.8. Figure 2.7 is the MembershipRecord data model and Figure 2.8 contains the set of common data model classes.

Figure 2.7 The PSM representation of the MembershipRecord data model description for file storage in the MMS.

Figure 2.8 The PSM representation of the common data model descriptions for file storage in the MMS.

top | toc

# 3. Application of the Binding Guidelines

The WSDL/XSD bindings have been generated using the methodology documented in [GWS 06a] and [GWS, 06b]. Only the synchronous service binding has been created. The binding files are available in two forms:

- A single combined WSDL/XSD – MembershipManagementServiceSyncSingle.wsdl;
- Separated WSDL and XSD files – MembershipManagementServiceSyncWSDL.wsdl and MembershipManagementServiceSyncXSD.xsd respectively.

It is recommended that only the combined form is used (many WSDL-based code generation tools do not process the 'import' instructions).

The mapping between the PIM and PSM descriptions is detailed in Table 3.1.

Table 3.1 Mapping between the PIM, PSM and XSD descriptions for the data models.

PSM Reference | PIM Reference | XSD Reference
--- | --- | ---
Name | UML Type | Figure | Type | Table | Name | Type
MembershipRecordSet | Class | 2.5 | MembershipRecordSet | – | MembershipRecordSet.Type | ComplexType
membershipRecord | Attribute | 2.5 | MembershipRecord | 5.3 | membershipRecord | Element
MembershipRecord | Class | 2.5 | – | 5.4 | MembershipRecord.Type | ComplexType
sourcedGUID | Attribute | 2.5 | SourcedGUID | 5.6 | sourcedGUID | Element
membership | Attribute | 2.5 | Membership | 5.3 | membership | Element
SourcedGUID | Class | 2.5 | – | 5.6 | SourcedGUID.Type | ComplexType
refAgentInstanceID | Attribute | 2.5 | NormalizedString | 5.7 | refAgentInstanceID | Element
sourcedId | Attribute | 2.5 | GUID | 5.8 | sourcedId | Element
Membership | Class | 2.5 | – | 5.15 | Membership.Type | ComplexType
collectionSourcedId | Attribute | 2.5 | GUID | 5.16 | collectionSourcedId | Element
membershipIdType | Attribute | 2.5 | Enumerated | 5.17 | membershipIdType | Element
member | Attribute | 2.5 | Member | 5.18 | member | Element
dataSource | Attribute | 2.5 | GUID | 5.19 | dataSource | Element
Member | Class | 2.5 | – | 5.20 | Member.Type | ComplexType
personSourcedId | Attribute | 2.5 | GUID | 5.21 | personSourcedId | Element
role | Attribute | 2.5 | Role | 5.22 | role | Element
Role | Class | 2.5 | – | 5.23 | Role.Type | ComplexType
roleType | Attribute | 2.5 | Enumerated | 5.24 | roleType | Element
subRole | Attribute | 2.5 | Enumerated | 5.25 | subRole | Element
timeFrame | Attribute | 2.5 | TimeFrame | 5.26 | timeFrame | Element
status | Attribute | 2.5 | Enumerated | 5.27 | status | Element
dateTime | Attribute | 2.5 | DateTime | 5.28 | dateTime | Element
creditHours | Attribute | 2.5 | Integer | 5.29 | integer | Element
dataSource | Attribute | 2.5 | GUID | 5.30 | dataSource | Element
recordInfo | Attribute | 2.5 | Metadata | 5.31 | recordInfo | Element
extension | Attribute | 2.5 | IMSExtension | 5.32 | extension | Element
TimeFrame | Class | 2.6 | – | 5.33 | TimeFrame.Type | ComplexType
begin | Attribute | 2.6 | DateTime | 5.34 | begin | Element
end | Attribute | 2.6 | DateTime | 5.35 | end | Element
restrict | Attribute | 2.6 | Boolean | 5.36 | restrict | Element
adminPeriod | Attribute | 2.6 | Text | 5.37 | adminPeriod | Element
Metadata | Class | 2.6 | – | 5.41 | Metadata.Type | ComplexType
metadataNameVocabulary | Attribute | 2.6 | AnyURI | 5.42 | metadataNameVocabulary | Element
metadataTypeVocabulary | Attribute | 2.6 | AnyURI | 5.43 | metadataTypeVocabulary | Element
metadataField | Attribute | 2.6 | ExtensionField | 5.44 | metadataField | Element
IMSExtension | Class | 2.6 | – | 5.45 | IMSExtension.Type | ComplexType
extensionNameVocabulary | Attribute | 2.6 | AnyURI | 5.46 | extensionNameVocabulary | Element
extensionTypeVocabulary | Attribute | 2.6 | AnyURI | 5.47 | extensionTypeVocabulary | Element
extensionField | Attribute | 2.6 | ExtensionField | 5.48 | extensionField | Element
ExtensionField | Class | 2.6 | – | 5.49 | ExtensionField.Type | ComplexType
fieldName | Attribute | 2.6 | NormalisedString | 5.50 | fieldName | Element
fieldType | Attribute | 2.6 | NormalisedString | 5.51 | fieldType | Element
fieldValue | Attribute | 2.6 | NormalisedString | 5.52 | fieldValue | Element
Text | Class | 2.6 | – | 5.38 | Text.Type | ComplexType
language | Attribute | 2.6 | NormalisedString | 5.39 | language | Element
textString | Attribute | 2.6 | String | 5.40 | textString | Element
imsx_StatusInfo | Class | 2.4 | – | See IMS GWSv1.0 | imsx_StatusInfo.Type | ComplexType
imsx_codeMajor | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_codeMajor | Element
imsx_severity | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_severity | Element
imsx_messageRefIdentifier | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_messageRefIdentifier | Element
imsx_operationRefIdentifier | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_operationRefIdentifier | Element
imsx_description | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_description | Element
imsx_codeMinor | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_codeMinor | Element
imsx_CodeMinor | Class | 2.4 | – | See IMS GWSv1.0 | imsx_CodeMinor.Type | ComplexType
imsx_codeMinorField | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_codeMinorField | Element
imsx_CodeMinorField | Class | 2.4 | – | See IMS GWSv1.0 | imsx_CodeMinorField.Type | ComplexType
imsx_codeMinorFieldName | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_codeMinorFieldName | Element
imsx_codeMinorFieldValue | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_codeMinorFieldValue | Element
imsx_StatusBinding | Class | 2.4 | – | See IMS GWSv1.0 | imsx_StatusBinding.Type | ComplexType
imsx_syncRequestHeaderInfo | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_syncRequestHeaderInfo | Element
imsx_syncResponseHeaderInfo | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_syncResponseHeaderInfo | Element
imsx_RequestHeaderInfo | Class | 2.4 | – | See IMS GWSv1.0 | imsx_RequestHeaderInfo.Type | ComplexType
imsx_version | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_version | Element
imsx_messageIdentifier | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_messageIdentifier | Element
imsx_ResponseHeaderInfo | Class | 2.4 | – | See IMS GWSv1.0 | imsx_ResponseHeaderInfo.Type | ComplexType
imsx_version | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_version | Element
imsx_messageIdentifier | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_messageIdentifier | Element
imsx_statusInfo | Attribute | 2.4 | n/a | See IMS GWSv1.0 | imsx_statusInfo | Element

Key:

1. The 'PSM Reference' field refers to information in the PSM description (Section 2 in this document). The sub-fields are:
   1. Name – the name of the data structure in the PSM and PIM
   2. UML Type – the type of UML construct i.e. either Class or Attribute
   3. Figure – the reference Figure number in this document;
2. The 'PIM Reference' field refers to infomation in the MMS Information Model [MMS, 11]. The sub-fields are:
   1. Type – the type of the data structure in the Information Model
   2. Table – the reference number of Tabular description in the corresponding Information Model document;
3. The 'XSD Reference' field refers to infrmation in the XSD descriptions (Section 5 in this document). The sub-fields are:
   1. Name – the name of the field in the XSD(s)
   2. Type – the type of XSD construct i.e. either a ComplexType or Element.

top | toc

# 4. WSDL File Documentation

WSDL file: "MemberhipManagementServiceSyncSingle.wsdl"

Target namespace: http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0

### 4.1 Overview

Services
MembershipManagementServiceSyncService
Bindings
MembershipManagerSyncSoapBinding
Port types
MembershipManagerSyncPortType
Messages
createMembershipRequest, createMembershipResponse, createByProxyMembershipRequest, createByProxyMembershipResponse, deleteMembershipRequest, deleteMembershipResponse, readMembershipRequest, readMembershipResponse, readAllMembershipIdsRequest, readAllMembershipIdsResponse, readMembershipIdsFromSavePointRequest, readMembershipIdsFromSavePointResponse, readMembershipIdsForPersonRequest, readMembershipIdsForPersonResponse, readMembershipIdsForPersonWithRoleRequest, readMembershipIdsForPersonWithRoleResponse, readMembershipIdsForCollectionRequest, readMembershipIdsForCollectionResponse, readMembershipsRequest, readMembershipsResponse, readMembershipsFromSavePointRequest, readMembershipsFromSavePointResponse, updateMembershipRequest, updateMembershipResponse, replaceMembershipRequest, replaceMembershipResponse, discoverMembershipIdsRequest, discoverMembershipIdsResponse, changeMembershipIdentifierRequest, changeMembershipIdentifierResponse,

WSDL Definition
Name | Documentation
--- | ---
MembershipManagementServiceSyncServices | ### WSDLv1.1 File Information Services: MembershipManagementService (Synchronous Communications) Author: Colin Smythe Date: 30 June 2011 Version: 1.0 Status: Final Release Description: The Membership Management Service. This forms a part of the IMS Learning Information Services v2.0 specification. History: Version 2.0: This is the first formal release of this service. This supercedes the MMSv1.0 which was produced as part of the Enterprise Services v1.0 specification. WSDL Binding: WSDL Binding is based upon the IMS GLC General Web Services Base Profile v1.0 The IMS GLC GWS Basic Profile is derived from the WS-I Basic Profile v1.1. This profile uses: WSDL 1.1, SOAP 1.1, HTTP 1.1 and XML 1.0. Extension profiles to the IMS GLC GWS Base Profile are available but are not supported using this tool version. License: IPR, License and Distribution Notices This machine readable file is derived from IMS Global Learning Consortium (GLC) specification IMS GLC Membership Management Service Version 2.0 found at http://www.imsglobal.org/lis/mmsv2p0/imsmmsv2p0_Infov1.pdf and the original IMS schema binding or code base http://www.imsglobal.org/lis/mmsv2p0/immsv2p0_Bindv1.html. 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 the schema binding contained in this document. IMS GLC 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 GLCs procedures with respect to rights in IMS GLC specifications can be found at the IMS GLC Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf. Copyright (c) IMS Global Learning Consortium 1999-2011. All Rights Reserved. ### License Notice for Users Users of products or services that include this document are hereby granted a worldwide, royalty-free, non-exclusive license to use this document. ### Distribution Notice for Developers Developers of products or services that are not original incorporators of this document and have not changed this document, that is, are distributing a software product that incorporates this document as is from a third-party source other than IMS, are hereby granted permission to copy, display and distribute the contents of this document in any medium for any purpose without fee or royalty provided that you include this IPR, License and Distribution notice in its entirety on ALL copies, or portions thereof. Developers of products or services that are original incorporators of this document and wish to provide distribution of this document as is or with modifications and developers of products and services that are not original incorporators of this document and have changed this document, are required to register with the IMS GLC community on the IMS GLC website as described in the following two paragraphs:- If you wish to distribute this document as is, with no modifications, you are hereby granted permission to copy, display and distribute the contents of this document in any medium for any purpose without fee or royalty provided that you include this IPR, License and Distribution notice in its entirety on ALL copies, or portions thereof, that you make and you 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. Once registered you are granted permission to transfer unlimited distribution rights of this document for the purposes of third-party or other distribution of your product or service that incorporates this document as long as this IPR, License and Distribution notice remains in place in its entirety; If you wish to create and distribute a derived work from this document, you are hereby granted permission to copy, display and distribute the contents of the derived work in any medium for any purpose without fee or royalty provided that you include this IPR, License and Distribution notice in its entirety on ALL copies, or portions thereof, that you make and you complete a valid profile registration with IMS GLC and receive an email from IMS GLC granting the license. To register, follow the instructions on the IMS GLC website: http://www.imsglobal.org/profile/. Once registered you are granted permission to transfer unlimited distribution rights of the derived work for the purposes of third-party or other distribution of your product or service that incorporates the derived work as long as this IPR, License and Distribution notice remains in place in its entirety. The limited permissions granted above are perpetual and will not be revoked by IMS GLC 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 IMPLEMENTERS 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. ### UML Source File Information Choreography: Sync Transport: SOAPv1.1 ### Source UML File Information The source file information must be supplied as an XMI file (without diagram layout information). The supported UML authoring tools are: (a) Poseidon – v6 (and later) ### Source XSLT File Information XSL Generator: UMLtoWSDLv1.1Transformv0p9p5.xsl XSLT Processor: Xalan Release: 1.0 Beta 4 Date: 31st March, 2011 ### IMS GLC Auto-generation Binding Tool-kit (I-BAT) This file was auto-generated using the IMS GLC Binding Auto-generation Tool-kit (I-BAT). While every attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware that this is an experimental tool. Permission is given to make use of this tool. IMS GLC makes no claim on the materials created by third party users of this tool. Details on how to use this tool are contained in the IMS GLC "I-BAT" Documentation available at the IMS GLC web-site. Tool Copyright: 2005-2011 (c) IMS Global Learning Consortium Inc. All Rights Reserved.

Services
Name | Documentation
--- | ---
MembershipManagementServiceSyncService |
### Service Information Author: Colin Smythe Date: 30 June 2011 Version: 2.0 Status: Final Release Description: The Membership Management Service is composed of a single interface. History: Version 2.0: This is the first formal release of this service. This replaces the IMS MMSv1.0 specification.

Service : MembershipManagementServiceSyncService
Port Name | Binding | Address Extensibility | Documentation
--- | --- | --- | ---
MembershipManagerSyncSoapPort | MembershipManagerSyncSoapBinding | `<soap11:address location="http://www.imsglobal.org/lis/mms2p0/MembershipManagerSyncSoap/"/>` |
N/A

Binding : MembershipManagerSyncSoapBinding
Port Type | MembershipManagerSyncPortType
Extensibility | `<soap11:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>`
Operations | createMembership, createByProxyMembership, deleteMembership, readMembership, readAllMembershipIds, readMembershipIdsFromSavePoint, readMembershipIdsForPerson, readMembershipIdsForPersonWithRole, readMembershipIdsForCollection, readMemberships, readMembershipsFromSavePoint, updateMembership, replaceMembership, discoverMembershipIds, changeMembershipIdentifier.

Port Type : MembershipManagerSyncPortType
Operation Name | Input message | Output message | Documentation
--- | --- | --- | ---
createMembership | createMembershipRequest | createMembershipResponse |
The 'createMembership' operation is responsible for creating a new Membership object on the service provider. The service consumer supplies the 'sourcedId' to be used to identify the new Membership.
createByProxyMembership | createByProxyMembershipRequest | createByProxyMembershipResponse |
The 'createByProxyMembership' operation is responsible for creating a new Membership object on the service provider. The service provider supplies the 'sourcedId' to be used to identify the new Membership.
deleteMembership | deleteMembershipRequest | deleteMembershipResponse |
The 'deleteMembership' operation deletes the identified Membership object. This means the 'sourcedId' can then be reused for another object.
readMembership | readMembershipRequest | readMembershipResponse |
The 'readMembership' operation requests the service provider to return all of the data stored for the identified Membership object.
readAllMembershipIds | readAllMembershipIdsRequest | readAllMembershipIdsResponse |
The 'readAllMembershipIds' operation requests the service provider to return the SourcedIds for all of the Membership objects.
readMembershipIdsFromSavePoint | readMembershipIdsFromSavePointRequest | readMembershipIdsFromSavePointResponse |
The 'readAllMembershipIdsFromSavePoint' operation requests the service provider to return the SourcedIds for all of the Membership objects from the defined reference 'savePoint'.
readMembershipIdsForPerson | readMembershipIdsForPersonRequest | readMembershipIdsForPersonResponse |
The 'readMembershipIdsForPerson' operation requests the service provider to return the SourcedIds for all of the Group objects for which the supplied Person is a member.
readMembershipIdsForPersonWithRole | readMembershipIdsForPersonWithRoleRequest | readMembershipIdsForPersonWithRoleResponse |
The 'readMembershipIdsForPersonWithRole' operation requests the service provider to return the SourcedIds for all of the Membership objects for which the supplied Person with the defined Role is a member.
readMembershipIdsForCollection | readMembershipIdsForCollectionRequest | readMembershipIdsForCollectionResponse |
The 'readMembershipIdsForCollection' operation requests the service provider to return the SourcedIds for all of the objects defined by the type of collection e.g. CourseOffering.
readMemberships | readMembershipsRequest | readMembershipsResponse |
The 'readMemberships' operation requests the service provider to return all of the data stored for the identified set of Membership objects.
readMembershipsFromSavePoint | readMembershipsFromSavePointRequest | readMembershipsFromSavePointResponse |
The 'readMembershipsFromSavePoint' operation requests the service provider to return all of the data stored for the identified set of Membership objects from the defined reference 'savePoint'.
updateMembership | updateMembershipRequest | updateMembershipResponse |
The 'updateMembership' operation is responsible for changing the Membership object on the service provider by making an additive write to the previously stored data.
replaceMembership | replaceMembershipRequest | replaceMembershipResponse |
The 'replaceMembership' operation is responsible for changing the Membership object on the service provider by making a destructive replacement of all the previously stored data. If the original object cannot be found, this operation acts as if it was a 'createMembership' operation call.
discoverMembershipIds | discoverMembershipIdsRequest | discoverMembershipIdsResponse |
The 'discoverMembershipIds' operation requests the service provider to return the SourcedIds of all of the Membership objects that sustain the query criteria. At present, there is no defined format for the query i.e. the query is passed as a string.
changeMembershipIdentifier | changeMembershipIdentifierRequest | changeMembershipIdentifierResponse |
The 'changeMembershipIdentifier' operation enables the service consumer to change the 'SourcedId' assigned to a Membership object on a service provider.

## 4.2 Messages

## createMembershipRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:createMembershipRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## createMembershipResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:createMembershipResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## createByProxyMembershipRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:createByProxyMembershipRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## createByProxyMembershipResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:createByProxyMembershipResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## deleteMembershipRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:deleteMembershipRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## deleteMembershipResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:deleteMembershipResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## readMembershipRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:readMembershipRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## readMembershipResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:readMembershipResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## readAllMembershipIdsRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:readAllMembershipIdsRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## readAllMembershipIdsResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:readAllMembershipIdsResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## readMembershipIdsFromSavePointRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:readMembershipIdsFromSavePointRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## readMembershipIdsFromSavePointResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:readMembershipIdsFromSavePointResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## readMembershipIdsForPersonRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:readMembershipIdsForPersonRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## readMembershipIdsForPersonResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:readMembershipIdsForPersonResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## readMembershipIdsForPersonWithRoleRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:readMembershipIdsForPersonWithRoleRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## readMembershipIdsForPersonWithRoleResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:readMembershipIdsForPersonWithRoleResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## readMembershipIdsForCollectionRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:readMembershipIdsForCollectionRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## readMembershipIdsForCollectionResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:readMembershipIdsForCollectionResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## readMembershipsRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:readMembershipsRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## readMembershipsResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:readMembershipsResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## readMembershipsFromSavePointRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:readMembershipsFromSavePointRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## readMembershipsFromSavePointResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:readMembershipsFromSavePointResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## updateMembershipRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:updateMembershipRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## updateMembershipResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:updateMembershipResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## replaceMembershipRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:replaceMembershipRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## replaceMembershipResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:replaceMembershipResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## discoverMembershipIdsRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:discoverMembershipIdsRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## discoverMembershipIdsResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:discoverMembershipIdsResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

## changeMembershipIdentifierRequest

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Parameters | tns:changeMembershipIdentifierRequest | N/A |
N/A
HeaderInfoParameters | tns:imsx_syncRequestHeaderInfo | N/A |
N/A

## changeMembershipIdentifierResponse

Part Name | Element | Type | Documentation
--- | --- | --- | ---
Response | tns:changeMembershipIdentifierResponse | N/A |
N/A
HeaderInfoResponse | tns:imsx_syncResponseHeaderInfo | N/A |
N/A

top | toc

# 5. XSD File Documentation

The XSD file documentation has been produced by the Oxygen XML Editing tool.

## 5.1 Service Data Model

Click on the Section header to access this documentation for the data models in the service description.

## 5.2 File Data Model

Click on the Section header to access this documentation for the data models for the exchange of Group objects in an external file.

top | toc

# 6. Binding of the Vocabularies

The vocabularies in the MMS are:

- Roletype vocabulary – the set of roles that are permitted for the Membership of a Person in a Group. The PSM for this vocabulary is shown in Figure 6.1;
- Subroletype vocabulary – the set of sub-roles that are permitted for the Membership of a Person in a Group. The PSM for this vocabulary is shown in Figures 6.2, 6.3 and 6.4;
- Extension data-type vocabulary – the set of data-types that are permitted for extensions in the Membership data model. The PSM for this vocabulary is shown in Figure 6.5.

These vocabularies are the default set maintained under the IMS GLC Vocabulary Registry [SDN11, 06]. It is the responsibility of an implementation to ensure that it is using the correct and latest versions of the vocabulary files. Changes to the default vocabularies are permitted; this results in the creation of a new vocabulary that should be registered with IMS GLC. As part of a profiling process entirely new vocabularies may be defined to replace the default set.

Figure 6.1 The PSM representation of the roletype vocabulary for the MMS.

Figure 6.2 The PSM representation of the subroletype vocabulary for the role teaching assistant and officer for the MMS.

Figure 6.3 The PSM representation of the subroletype vocabulary for the role administrator for the MMS.

Figure 6.4 The PSM representation of the subroletype vocabulary for the role mentor for the MMS.

Figure 6.5 The PSM representation of the extension data-type vocabulary for the MMS.

top | toc

# Appendix A - Listing of the WSDLs

The WSDL bindings are for a Synchronous SOAP implementation only. The WSDL files, expressed using WSDLv1.1, are:

- The combined WSDL/XSD file (this contains the WSDL and XSD descriptions in a single file) – MembershipManagementServicev2p0_SyncSingle_v1p0.wsdl
- The single WSDL file (used in conjunction with the separate XSD file) is available to LIS Alliance members. Click here to join the Alliance.

These files were generated by the I-BATv0.9.5 tool using the PSM representation described in Section 2.

top | toc

# Appendix B - Listing of the XSDs

The XSD files are:

- The stand-alone XSD is available to LIS Alliance members. Click here to join the Alliance;
- The XSD for the external data file (exchanged as part of the BDEMS) – imsmms_filemodel_v2p0.xsd

This file was generated by the I-BATv0.9.5 tool using the PSM representation described in Section 2. Documentation of the XSDs is supplied in Section 5.

top | toc

# Appendix C - Vocabulary VDEX Instance File Listings

The MMS vocabularies are:

- The set of role types that a Person can have for their Memberships vocabulary – roletypevocabularyv1p0.xml;
- The set of sub-role types that a Person can have for their Memberships vocabulary – subrolevocabularyv1p0.xml;
- Extension data-types vocabulary – extensionvocabularyv1p0.xml;
- Language codes – languagecodesvocabularyv1p0.xml. The set of codes used to identifiy the language for a string (based upon RFC4646).

These vocabularies are expressed as instances of the IMS GLC Vocabulary Data Exchange (VDEX) v1.0 specification. Documentation of these vocabularies is supplied in Section 6.

top | toc

# Appendix D - Example SOAP Messages

The set of examples for the SOAP messages are listed in Table D.1. The messaging pattern is a Request/Response exchange to support the Synchronous Service definition.

Table D.1 The set of SOAP message examples for each operation.

Operation Name | Input (Request) SOAP Message | Output (Response) SOAP Message
--- | --- | ---
createMembership | createMembershipRequest | createMembershipResponse
createByProxyMembership | createByProxyMembershipRequest | createByProxyMembershipResponse
deleteMembership | deleteMembershipRequest | deleteMembershipResponse
readMembership | readMembershipRequest | readMembershipResponse
readAllMembershipIds | readAllMembershipIdsRequest | readAllMembershipIdsResponse
readMembershipIdsFromSavePoint | readMembershipIdsFromSavePointRequest | readMembershipIdsFromSavePointResponse
readMembershipIdsForPerson | readMembershipIdsForPersonRequest | readMembershipIdsForPersonResponse
readMembershipIdsForPersonWithRole | readMembershipIdsForPersonWithRoleRequest | readMembershipIdsForPersonWithRoleResponse
readMembershipIdsForCollection | readMembershipIdsForCollectionRequest | readMembershipIdsForCollectionResponse
readMemberships | readMembershipsRequest | readMembershipsResponse
readMembershipsFromSavePoint | readMembershipsFromSavePointRequest | readMembershipsFromSavePointResponse
updateMembership | updateMembershipRequest | updateMembershipResponse
replaceMembership | replaceMembershipRequest | replaceMembershipResponse
discoverMembershipIds | discoverMembershipIdsRequest | discoverMembershipIdsResponse
changeMembershipIdentifier | changeMembershipIdentifierRequest | changeMembershipIdentifierResponse

top | toc

# About This Document

Title | IMS GLC Membership Management Service WSDL/XSD Binding
Editor | Colin Smythe (IMS GLC)
Co-Chairs | Linda Feng (Oracle), Bill Lee (Desire2learn)
Version | 2.0
Version Date | 30 June 2011
Release | Final 1.0
Status | Final Release
Summary | This document contains the description of the IMS GLC Membership Management Service v2.0 WSDL/XSD binding. This service is used to exchange information about Memberships. The business transactions include the simple create, read, update and delete of the Group data model for a single instance. This document contains the definition of the corresponding Web Service based upon SOAP/HTTP messaging.
Revision Information | This version supersedes the IMS GLC Membership Management Service v1.0 specification.
Purpose | This document is made available for adoption by the public community at large.
Document Location | http://www.imsglobal.org/lis/

top | toc

## List of Contributors

The following individuals contributed to the development of this document:

Name | Organization
--- | ---
Kerry Blinco | DEEWR (Australia)
Kirk Bunte | SungardHE (USA)
Angus Chan | Desire2learn (Canada)
Adam Cooper | JISC (UK)
Michael Feldstein | Cengage (USA)
Linda Feng | Oracle (USA)
Jon Fontaine | Blackboard (USA)
Chris Hatton | Pearson (USA)
Karen Kuffner | University of Michigan (USA)
Zack Leavitt | eCollege (USA)
Bill Lee | Desire2learn (Canada)
Richard Moon | SungardHE (USA)
Mike Parkhill | Desire2learn (Canada)
Colin Smythe | IMS Global Learning Consortium, Inc.
Reihold Staudinger | Blackboard (USA)
Nick Terrible | University of Wisconsin (USA)
Jason Zhong | SungardHE (USA)

top | toc

# Revision History

Version No. | Release Date | Comments
--- | --- | ---
Final Release 1.0 | 30 June 2011 | The first formal release of the Final Release version of this document.

top | toc

IMS Global Learning Consortium, Inc. (“IMS GLC”) is publishing the information contained in this document (“Specification”) for purposes of scientific, experimental, and scholarly collaboration only.

IMS GLC makes no warranty or representation regarding the accuracy or completeness of the Specification.

This material is provided on an “As Is” and “As Available” basis.

The Specification is at all times subject to change and revision without notice.

It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.

IMS GLC would appreciate receiving your comments and suggestions.

Please contact IMS GLC through our website at http://www.imsglobal.org.

Please refer to Document Name: IMS GLC MMS v2.0 WSDL/XSD Binding Final Release v1.0

Date: 30 June 2011.