IMS Logo

IMS GLC Person Management Service WSDL/XSD Binding

Version 2.0 Final Release Specification

Final 1.0


Date Issued: 30 June 2011

Latest version: /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: /imsipr_policyFinal.pdf.

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

If you wish to copy or distribute this document, you must complete a valid Registered User license registration with IMS and receive an email from IMS granting the license to distribute the specification. To register, follow the instructions on the IMS website: /specificationdownload.cfm

This document may be copied and furnished to others by Registered Users who have 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 project group.

Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: /license.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.


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 Service Operations
    3. Person 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

1. Introduction

This document is a part of the IMS GLC Person Management Service (PMS) v2.0 specification. The binding details how the Person Management Service Information Model is realised as a Web Service; in the form of a Web Services Description Language (WSDL) file. The PMS 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 PMS WSDL Binding v2.0 is used in conjunction with the following documents:

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

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

  1. IMS GLC Person Management Services v1.0 Information Model Final Specification v1.0 [PMS, 04a];
  2. IMS GLC Person Management Services v1.0 WSDL Binding Final Specification v1.0 [PMS, 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 PMS 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. Binding of the Vocabularies 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 PMS WSDL files;
Appendix B - Listing of the XSD Files This is the full listing of the PMS 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

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
PIM Protocol Independent Model
PMS Person Management Service
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.
[PMS, 04a] IMS GLC Person Management Services Information Model Specification Final Release v1.0, C.Vento and C.Smythe, IMS Global Learning Consortium, June 2004.
[PMS, 04b] IMS GLC Person Management Services WSDL Binding Specification Final Release v1.0, C.Vento and C.Smythe, IMS Global Learning Consortium, June 2004.
[PMS, 11] IMS GLC Person 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.

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 PMS. 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 GMS. The PSM is derived from the Platform Independent Model that was documented within the information model for the PMS specification [PMS, 10].

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

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 PMS.

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

2.3 Person Data Model

The PSM for the Person data models are shown in Figures 2.5, 2.6, 2.7, 2.8, 2.9, 2.10, 2.11, 2.12 and 2.13. Figure 2.5 is the Person data model, Figure 2.6 the FormName data model, Figure 2.7 is the NAme data model, Figure 2.8 is the Address data model, Figure 2.9 is the ContactInfo data model, Figure 2.10 is the Demographics data model, Figure 2.11 is the Enterprise Roles data model, Figure 2.12 is the Agent data model and Figure 2.13 contains the set of common data model classes.

Figure 2.5 The PSM representation of the Person data model description for the PMS.

Figure 2.6 The PSM representation of the Address, Agent, ContactInfo and Names data model description for the PMS.

Figure 2.7 The PSM representation of the Demographics data model description for the PMS.

Figure 2.8 The PSM representation of the Enterprise Roles data model description for the PMS.

Figure 2.9 The PSM representation of the common data models description for the PMS.

2.4 File-based Data Exchange Data Model

The PSM for the file-based Person data models are shown in Figures 2.10, 2.11, 2.12, 2.13 and 2.14.

Figure 2.10 The PSM representation of the PersonRecord data model description for file storage in the PMS.

Figure 2.11 The PSM representation of the Address, Agent, ContactInfo, Names data model description for file storage in the PMS

Figure 2.12 The PSM representation of the Demographics data model description for file storage in the PMS

Figure 2.13 The PSM representation of the Enterprise Roles data model description for file storage in the PMS

Figure 2.14 The PSM representation of the common data model descriptions for file storage in the PMS.


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 – PersonManagementServiceSyncSingle.wsdl;
  • Separated WSDL and XSD files – PersonManagementServiceSyncWSDL.wsdl and PersonManagementServiceSyncXSD.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

PersonRecordSet

Class 2.5
PersonRecordSet.Type ComplexType
  • personRecord
Attribute 2.5 PersonRecord 5.3 personRecord Element

PersonRecord

Class 2.5 5.4 GroupRecord.Type ComplexType
  • sourcedGUID
Attribute 2.5 GUID 5.5 sourcedGUID Element
  • person
Attribute 2.5 Person person Element

SourcedGUID

Class 2.5 TBD. 5.6 SourcedGUID.Type ComplexType
  • refAgentInstanceId
Attribute 2.5 NormalizedString 5.7 refAgentInstanceId Element
  • sourcedId
Attribute 2.5 SourcedId 5.8 sourcedId Element

Person

Class 2.5 5.9 Person.Type ComplexType
  • formname
Attribute 2.5 FormName 5.10 formname Element
  • name
Attribute 2.5 Name 5.11 name Element
  • address
Attribute 2.5 Address 5.12 address Element
  • contactinfo
Attribute 2.5 ContactInfo 5.13 contactinfo Element
  • demographics
Attribute 2.5 Demographics 5.14 demographics Element
  • agent
Attribute 2.5 Agent 5.15 agent Element
  • roles
Attribute 2.5 EnterpriseRoles 5.16 roles Element
  • dataSource
Attribute 2.5 GUID 5.17 dataSource Element
  • extension
Attribute 2.5 IMSExtension 5.18 extension Element

FormName

Class 2.6 5.19 FormName.Type ComplexType
  • formnameType
Attribute 2.6 BaseValueToken 5.20 formnameType Element
  • formattedName
Attribute 2.6 Text 5.21 formattedName Element

Name

Class 2.6 5.22 Name.Type ComplexType
  • nameType
Attribute 2.6 BaseValueToken 5.23 nameType Element
  • partName
Attribute 2.6 BaseValueSingle 5.24 partName Element

Address

Class 2.6 5.25 Address.Type ComplexType
  • addressType
Attribute 2.6 BaseValueToken 5.26 addressType Element
  • addressPart
Attribute 2.6 BaseValueMultiple 5.27 addressPart Element

ContactInfo

Class 2.6 5.28 ContactInfo.Type ComplexType
  • contactinfoType
Attribute 2.6 BaseValueToken 5.29 contactinfoType Element
  • contactinfoValue
Attribute 2.6 Text 5.30 contactinfoValue Element

Demographics

Class 2.7 5.31 Demographics.Type ComplexType
  • demographicsType
Attribute 2.7 BaseValueToken 5.32 demographicsType Element
  • representation
Attribute 2.7 Representation 5.33 representation Element
  • eventDate
Attribute 2.7
BaseValueToken
5.34 eventDate Element
  • gender
Attribute 2.7
Enumerated
5.35 gender Element
  • demographicsInfo
Attribute 2.7
BaseValueSingle
5.36 demographicsinfo Element

Representation

Class 2.7 5.37 Representation.Type ComplexType
  • representationType
Attribute 2.7
BaseValueToken
5.38 representationType Element
  • date
Attribute 2.7
Date
5.39 date Element
  • description
Attribute 2.7
Description
5.40 description Element

Agent

Class 2.6 5.41 Agent.Type ComplexType
  • agentType
Attribute 2.6
BaseValueToken
5.42 agentType Element
  • agentId
Attribute 2.6
Text
5.43 agentId Element
  • agentDoman
Attribute 2.6
Text
5.44 agentDomain Element
  • description
Attribute 2.6
Description
5.45 description Element

EnterpriseRoles

Class 2.8 5.46 EnterpriseRoles.Type ComplexType
  • enterpriserolesType
Attribute 2.8
BaseValueToken
5.47 enterpriserolesType Element
  • systemRole
Attribute 2.8
BaseValueSingle
5.48 systemRole Element
  • institutionRole
Attribute 2.8
InstitutionRole
5.49 institutionRole Element
  • enrollment
Attribute 2.8
BaseValueSingle
5.50 enrollment Element
  • userId
Attribute 2.8
UserId
5.51 userId Element

UserId

Class 2.8 5.52 UserId.Type ComplexType
  • userIdValue
Attribute 2.8
Text
5.53 userIdValue Element
  • userIdType
Attribute 2.8
Text
5.54 userIdType Element
  • password
Attribute 2.8
Text
5.55 password Element
  • pwEncryption
Attribute 2.8
Text
5.56 pwEncryption Element
  • authenticationType
Attribute 2.8
Text
5.57 authenticationType Element

InstitutionRole

Class 2.8 5.58 InstitiutionRole.Type ComplexType
  • institutionroletype
Attribute 2.8
BaseValueToken
5.59 institutionroletype Element
  • primaryroletype
Attribute 2.8
Boolean
5.60 primaryroletype Element

BaseValueToken

Class 2.9 5.61 BaseValueToken.Type ComplexType
  • instanceIdentifier
Attribute 2.9 Text 5.62 instanceIdentifier Element
  • instanceVocabulary
Attribute 2.9 AnyURI 5.63 instanceVocabulary Element
  • instanceValue
Attribute 2.9 Text 5.64 instanceValue Element

BaseValueSingle

Class 2.9 5.65 BaseValueSingle.Type ComplexType
  • instanceIdentifier
Attribute 2.9 Text 5.66 instanceIdentifier Element
  • instanceVocabulary
Attribute 2.9 AnyURI 5.67 instanceVocabulary Element
  • instanceName
Attribute 2.9 Text 5.68 instanceName Element
  • instanceValue
Attribute 2.9 Text 5.69 instanceValue Element

Description

Class 2.9 5.70 Description.Type ComplexType
  • shortDescription
Attribute 2.9 Text 5.71 shortDescription Element
  • longDescription
Attribute 2.9 Text 5.72 longDescription Element
  • fullDescription
Attribute 2.9 FullDescription 5.73 fullDescription Element

FullDescription

Class 2.9 5.74 FullDescription.Type ComplexType
  • mediamode
Attribute 2.9 Enumerated 5.75 mediamode Element
  • contentRefType
Attribute 2.9 Enumerated 5.76 contentRefType Element
  • mimeType
Attribute 2.9 NormalizedString 5.77 mimeType Element
  • descriptionText
Attribute 2.9 Text 5.78 descriptionText Element

Text

Class 2.9 5.79 Text.Type ComplexType
  • language
Attribute 2.9 NormalizedString 5.80 language Element
  • textString
Attribute 2.9 String 5.81 textString Element

IMSExtension

Class 2.9 5.82 IMSExtension.Type ComplexType
  • extensionNameVocabulary
Attribute 2.9 AnyURI 5.83 extensionNameVocabulary Element
  • extensionTypeVocabulary
Attribute 2.9 AnyURI 5.84 extensionTypeVocabulary Element
  • extensionField
Attribute 2.9 ExtensionField 5.85 extensionField Element

ExtensionField

Class 2.9 5.86 ExtensionField.Type ComplexType
  • fieldName
Attribute 2.9 NormalizedString 5.87 fieldName Element
  • fieldType
Attribute 2.9 NormalizedString 5.88 fieldType Element
  • fieldValue
Attribute 2.9 NormalizedString 5.89 fieldValue 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 PMS Information Model [PMS, 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.

4. WSDL File Documentation

WSDL file: "PersonManagementServiceSyncSingle.wsdl"

Target namespace: /services/lis/pms2p0/wsdl11/sync/imspms_v2p0

4.1 Overview

Services
PersonManagementServiceSyncService
Bindings
PersonManagerSyncSoapBinding
Port types
PersonManagerSyncPortType
Messages
createPersonRequest, createPersonResponse, createByProxyPersonRequest, createByProxyPersonResponse, deletePersonRequest, deletePersonResponse, readPersonRequest, readPersonResponse, readPersonCoreRequest, readPersonCoreResponse, readAllPersonIdsRequest, readAllPersonIdsResponse, readPersonIdsFromSavePointRequest, readPersonIdsFromSavePointResponse, readPersonsRequest, readPersonsResponse, readPersonsFromSavePointRequest, readPersonsFromSavePointResponse, updatePersonRequest, updatePersonResponse, replacePersonRequest, replacePersonResponse, discoverPersonIdsRequest, discoverPersonIdsResponse, changePersonIdentifierRequest, changePersonIdentifierResponse,

WSDL Definition
Name Documentation
PersonManagementServiceSyncServices

WSDLv1.1 File Information

Services: PersonManagementService (Synchronous Communications)

Author: Colin Smythe

Date: 30 June 2011

Version: Final 1.0

Status: Final Release

Description: The Person Management Service. This forms a part of the IMS GLC Learning Informaton Services v2.0 Specification.

History: Release 1.0: This is the first formal release of version 2.0 of this service. This version supercedes v1.0. This is an integration of the Person Service from the Learning Information Services and the 'identification' data model from the IMS GLC Learner Information Package 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 Person Management ServiceVersion 2.0 found at /lis/pmsv2p0/imspmsv2p0_InfoFinalv1.pdf and the original IMS GLC schema binding or code base /lis/pmsv2p0/imspmsv2p0_BindFinalv1p0.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: /ipr/imsipr_policyFinal.pdf.

Copyright © 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: /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: /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
PersonManagementServiceSyncService

Service Information

Author: Colin Smythe

Date: 30 June 2011

Version: Final 1.0

Status: Final Release

Description: The Person Management Service is composed of a single interface. The PMSv2.0 is one of the component services in the IMS LISv2.0.

History: Version 1.0: This is the first formal release of this service.



Service : PersonManagementServiceSyncService
Port Name Binding Address Extensibility Documentation
PersonManagerSyncSoapPort PersonManagerSyncSoapBinding <soap11:address location="/lis/pms2p0/PersonManagerSyncSoap/"/>
N/A


Binding : PersonManagerSyncSoapBinding
Port Type PersonManagerSyncPortType
Extensibility <soap11:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
Operations createPerson, createByProxyPerson, deletePerson, readPerson, readPersonCore, readAllPersonIds, readPersonIdsFromSavePoint, readPersons, readPersonsFromSavePoint, updatePerson, replacePerson, discoverPersonIds, changePersonIdentifier,


Port Type : PersonManagerSyncPortType
Operation Name Input message Output message Documentation
createPerson createPersonRequest createPersonResponse
When the source issues the 'createPerson' request the target is instructed to create the populated Person object and to allocate that structure to the 'sourcedId' passed by the source. If the supplied 'sourcedId' has already been allocated to another object then the request is rejected and the appropriate failure code is returned. The save-point identifier is set to 'zero' for the Person object in both the source and target.
createByProxyPerson createByProxyPersonRequest createByProxyPersonResponse
When the source issues the 'createByProxyPerson' request the target is instructed to create the populated Person object and to allocate a unique 'identifier'. The save-point identifier is set to 'zero' for the 'person' object in both the source and target.
deletePerson deletePersonRequest deletePersonResponse When the source issues the 'deletePerson' request the target is instructed to delete the identified Person object and to remove the reference to the Person from any of the related Membership objects. This is a hard cascaded delete from which there is no recovery. If the object identified by the supplied 'sourcedId' cannot be located then the request is rejected and the appropriate failure code is returned.
readPerson readPersonRequest readPersonResponse When the source issues the 'readPerson' request the target is charged with retrieving the identified record from its database and returning this data to the source. The target is responsible for ensuring that the record contains valid data. If the object identified by the supplied 'sourcedId' cannot be located then the request is rejected and the appropriate failure code is returned.
readPersonCore readPersonCoreRequest readPersonCoreResponse When the source issues the 'readCorePerson' request the target is charged with retrieving the mandatory core data structures for the identified record from its database and returning this data to the source. The target is responsible for ensuring that the record contains valid data. If the object identified by the supplied 'sourcedId' cannot be located then the request is rejected and the appropriate failure code is returned. IIf any mandatory field is missing then the status returned is 'incompletedata'.
readAllPersonIds readAllPersonIdsRequest readAllPersonIdsResponse When the source issues the 'readAllPersonIds' the target returns the set of sourcedIds that have been allocated to Person objects.
readPersonIdsFromSavePoint readPersonIdsFromSavePointRequest readPersonIdsFromSavePointResponse When the source issues the 'readGroupIdsFromSavePoint' the target returns the set of SourcedIds that have been altered from the defined reference point, supplied by the source, to the latest reference point identified in the target. If the reference counter in the source is greater than that in the target then an error code is returned along with the target value for the reference point.
readPersons readPersonsRequest readPersonsResponse When the source issues the 'readPersons' request the target is charged with retrieving the identified set of objects from its database. The associated read savePoint reference is updated and returned. If the object identified by the supplied SourcedId cannot be located then the request is rejected and a partial success code is returned for the operation. The target is responsible for ensuring that the records contain valid data. The target should attempt to successfully complete as much of the request as possible.
readPersonsFromSavePoint readPersonsFromSavePointRequest readPersonsFromSavePointResponse When the source issues the readPersonsFromSavePoint' request the target is charged with reading the objects that have been altered from the defined reference point. If the reference counter in the source is greater than that in the target then an empty data file is returned and the target value for the reference point is returned.
updatePerson updatePersonRequest updatePersonResponse When the source issues the 'updatePerson' request the target is charged with writing the supplied information into the identified object. If any part of the write fails e.g. due to partial invalid data then the whole request is rejected and the record is left in its original state. This is an additive write operation of all the data fields supplied in the update request and fields not supplied remain unchanged. If a field is constrained with a multiplicity of one the 'updatePerson' request acts as a 'replacePerson' request for that field. If the object identified by the supplied 'SourcedId' cannot be located then the request is rejected and the appropriate failure code is returned. The reference pointer for the object is incremented in the target system.
replacePerson replacePersonRequest replacePersonResponse When the source issues the 'replacePerson' request the target is charged with writing the supplied information into the identified record. If any part of the write fails e.g. due to partial invalid data then the whole request is rejected and the record is left in its original state. This is a destructive write-over operation of the entire 'person' object. This is equivalent to a 'createPerson' but for an object that already exists. If the object identified by the supplied SourcedId cannot be located then the request is interpreted as a 'createPerson' invocation. The reference pointer for the object is incremented in the target system.
discoverPersonIds discoverPersonIdsRequest discoverPersonIdsResponse When the source issues the 'discoverPersonIds' the target applies the query/filter instructions to the set of Person objects and returns the set of sourcedIds that uphold the query. If no Person objects have the required properties the returned data set is empty and the success status code returned. If the target does not understand or cannot apply the requested query/filter then an error status is returned.
changePersonIdentifier changePersonIdentifierRequest changePersonIdentifierResponse
When the source issues the 'changePersonIdentifier' request the target is charged with replacing the original 'sourcedId' with the new supplied 'sourcedId'. All membership entries must be similarly changed. All further references to the object must use the new 'sourcedId' otherwise an 'unknown' object failure status code is returned. If the object identified by the supplied 'SourcedId' cannot be located then the request is rejected and the appropriate failure code is returned.

4.2 Messages

createByProxyPersonRequest

Part Name Element Type Documentation
Parameters tns:createPersonRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

createPersonResponse

Part Name Element Type Documentation
Response tns:createPersonResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

createByProxyPersonRequest

Part Name Element Type Documentation
Parameters tns:createByProxyPersonRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

createByProxyPersonResponse

Part Name Element Type Documentation
Response tns:createByProxyPersonResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

 

deletePersonRequest

Part Name Element Type Documentation
Parameters tns:deletePersonRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

deletePersonResponse

Part Name Element Type Documentation
Response tns:deletePersonResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

readPersonRequest

Part Name Element Type Documentation
Parameters tns:readPersonRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

readPersonResponse

Part Name Element Type Documentation
Response tns:readPersonResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

readPersonCoreRequest

Part Name Element Type Documentation
Parameters tns:readPersonCoreRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

readPersonCoreResponse

Part Name Element Type Documentation
Response tns:readPersonCoreResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

readAllPersonIdsRequest

Part Name Element Type Documentation
Parameters tns:readAllPersonIdsRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

readAllPersonIdsResponse

Part Name Element Type Documentation
Response tns:readAllPersonIdsResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

readPersonIdsFromSavePointRequest

Part Name Element Type Documentation
Parameters tns:readPersonIdsFromSavePointRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

readPersonIdsFromSavePointResponse

Part Name Element Type Documentation
Response tns:readPersonIdsFromSavePointResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

readPersonsRequest

Part Name Element Type Documentation
Parameters tns:readPersonsRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

readPersonsResponse

Part Name Element Type Documentation
Response tns:readPersonsResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

readPersonsFromSavePointRequest

Part Name Element Type Documentation
Parameters tns:readPersonsFromSavePointRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

readPersonsFromSavePointResponse

Part Name Element Type Documentation
Response tns:readPersonsFromSavePointResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

updatePersonRequest

Part Name Element Type Documentation
Parameters tns:updatePersonRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

updatePersonResponse

Part Name Element Type Documentation
Response tns:updatePersonResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

replacePersonRequest

Part Name Element Type Documentation
Parameters tns:replacePersonRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

replacePersonResponse

Part Name Element Type Documentation
Response tns:replacePersonResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

discoverPersonIdsRequest

Part Name Element Type Documentation
Parameters tns:discoverPersonIdsRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

discoverPersonIdsResponse

Part Name Element Type Documentation
Response tns:discoverPersonIdsResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

changePersonIdentifierRequest

Part Name Element Type Documentation
Parameters tns:changePersonIdentifierRequest N/A
N/A
HeaderInfoParameters tns:imsx_syncRequestHeaderInfo N/A
N/A

changePersonIdentifierResponse

Part Name Element Type Documentation
Response tns:changePersonIdentifierResponse N/A
N/A
HeaderInfoResponse tns:imsx_syncResponseHeaderInfo N/A
N/A

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 used in the BDEMS-based file data exchange.


6. Binding of the Vocabularies

The vocabularies in the PMS are:

  • The type of formatted name vocabulary – the set of values for the type of formatted name. The PSM is shown in Figure 6.1;
  • The type of name vocabulary – the set of values for the type of name. The PSM is shown in Figure 6.2;
  • The type of name part-name vocabulary – the set of values for the allowed name parts. The PSM is shown in Figures 6.3a and 6.3b;
  • The type of address vocabulary – the set of values for the type of address. The PSM is shown in Figures 6.4a and 6.4b;
  • The address part vocabulary – the set of values for the allowed address parts. The PSM is shown in Figures 6.5a, 6.5b and 6.5c;
  • The type of contact information vocabulary – the set of values for the type of contact information. The PSM is shown in Figures 6.6a, 6.6b, 6.6c and 6.6d;
  • The type of demographics vocabulary – the set of values for the type of demographics. The PSM is shown in Figures 6.7a, 6.7b and 6.7c;
  • The demographics information vocabulary – the set of values for the parts of demographics information. The PSM is shown in Figure 6.8;
  • The type of representations vocabulary – the set of values for the parts of representation information. The PSM is shown in Figure 6.9;
  • The type of enterprise system role vocabulary – the set of values for the type of enterprise system roles. The PSM is shown in Figure 6.10;
  • The type of instutition role vocabulary – the set of values for the type of institution roles. The PSM is shown in Figures 6.11a and 6.11b;
  • The type of system role vocabulary – the set of values for the type of system roles. The PSM is shown in Figures 6.12;
  • The enrollment information vocabualry – the set of values for the enrollments. The PSM is shown in Figure 6.13;
  • The type of agent vocabulary– the set of values for the type of agent. The PSM is shown in Figures 6.14;
  • The type of event date vocabulary – the set of values for the type of event date. The PSM is shown in Figures 6.15;
  • Extension data-type vocabulary – the set of data-types that are permitted for extensions in the Group data model. The PSM for the extension data-type vocabulary is shown in Figure 6.16.

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 formatted name type vocabulary for the PMS.

Figure 6.2 The PSM representation of the name type vocabulary for the PMS.

Figure 6.3a The PSM representation of the name part (1) vocabulary for the PMS.

Figure 6.3b The PSM representation of the name part (2) vocabulary for the PMS.

Figure 6.4a The PSM representation of the address type (1) vocabulary for the PMS.

Figure 6.4b The PSM representation of the address type (2) vocabulary for the PMS.

Figure 6.5a The PSM representation of the address part (1) vocabulary for the PMS.

Figure 6.5b The PSM representation of the address part (2) vocabulary for the PMS.

Figure 6.5c The PSM representation of the address part (3) vocabulary for the PMS.

Figure 6.6a The PSM representation of the type of contact information (1) vocabulary for the PMS.

Figure 6.6b The PSM representation of the type of contact information (2) vocabulary for the PMS.

Figure 6.6c The PSM representation of the type of contact information (3) vocabulary for the PMS.

Figure 6.6d The PSM representation of the type of contact information (4) vocabulary for the PMS.

Figure 6.7a The PSM representation of the type of demographics (1) vocabulary for the PMS.

Figure 6.7b The PSM representation of the type of demographics (2) vocabulary for the PMS.

Figure 6.7c The PSM representation of the type of demographics (3) vocabulary for the PMS.

Figure 6.8 The PSM representation of the demographics information vocabulary for the PMS.

Figure 6.9 The PSM representation of the representation information vocabulary for the PMS. Figure 6.10 The PSM representation of the enterprise system role vocabulary for the PMS. Figure 6.11a The PSM representation of the institution role (1) vocabulary for the PMS. Figure 6.11b The PSM representation of the institution role (2) vocabulary for the PMS. Figure 6.12 The PSM representation of the system role vocabulary for the PMS. Figure 6.13 The PSM representation of the enrollment vocabulary for the PMS. Figure 6.14 The PSM representation of the type of agent vocabulary for the PMS. Figure 6.15a The PSM representation of the type of event date (1) vocabulary for the PMS. Figure 6.15b The PSM representation of the type of event date (2) vocabulary for the PMS.

Figure 6.16 The PSM representation of the extension data-type vocabulary for the PMS.


Appendix A - Listing of the WSDLs

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

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


Appendix B - Listing of the XSDs

The XSD files are:

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.


Appendix C - Vocabulary VDEX Instance File Listings

The PMS vocabularies are:

The online versions of these vocabularies are available in the directory: /vdex/lis/pmsv2p0. These vocabularies are expressed as instances of the IMS GLC Vocabulary Data Exchange (VDEX) v1.0 specification. Documentation of the vocabulary is supplied in Section 6.


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
createPerson createPersonRequest createPersonResponse
createByProxyPerson createByProxyPersonRequest createByProxyPersonResponse
deletePerson deletePersonRequest deletePersonResponse
readPerson readPersonRequest readPersonResponse
readPersonCore readPersonCoreRequest readPersonCoreResponse
readAllPersonIds readAllPersonIdsRequest readAllPersonIdsResponse
readPersonIdsFromSavePoint readPersonIdsFromSavePointRequest readPersonIdsFromSavePointResponse
readPersons readPersonsRequest readPersonsResponse
readPersonsFromSavePoint readPersonsFromSavePointRequest readPersonsFromSavePointResponse
updatePerson updatePersonRequest updatePersonResponse
replacePerson replacePersonRequest replacePersonResponse
discoverPersonIds discoverPersonIdsRequest discoverPersonIdsResponse
changePersonIdentifier changePersonIdentifierRequest changePersonIdentifierResponse

About This Document

Title IMS GLC Person 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 Person Management Service v2.0 WSDL/XSD binding. This service is used to exchange information about Persons. The business transactions include the simple create, read, update and delete of the Person 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 Person Management Service v1.0 specification.
Purpose This document is made available for adoption by the public community at large.
Document Location /lis/

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. (UK)
Reihold Staudinger Blackboard (USA)
Nick Terrible University of Wisconsin (USA)
Jason Zhong SungardHE (USA)

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.
     
     

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 .

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

Date: 30 June 2011.