<?xml version = "1.0" encoding = "UTF-8"?>
<wsdl11:definitions name="OutcomesManagementServiceLineItemManagerSyncServices"
    targetNamespace="http://www.imsglobal.org/services/lis/oms1p0/wsdl11/sync/imsoms_v1p0"
    xmlns:tns="http://www.imsglobal.org/services/lis/oms1p0/wsdl11/sync/imsoms_v1p0"
    xmlns:soap11="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:wsdl11="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <wsdl11:documentation>
        WSDLv1.1 File Information
        -------------------------
        Services:       OutcomesManagementService (Synchronous Communications)
        Author:         Colin Smythe
        Date:           16th April 2012
        Version:        2.0
        Status:         Public Draft
        Description:    The Outcomes Management Service.  This is a part of the
                        IMS Learning Information Services v2.0 specification.

        History:        Version 1.0: This is the first formal release of this service.
                        This service was not defined in IMS Enterprise Services v1.0.

        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 Outcomes Management Service (OMS) Version 1.0
                        found at http://www.imsglobal.org/lis and the original IMS GLC schema binding or code base
                        http://www.imsglobal.org/lis.

                        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-2012. 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.1Transformv1p0.xsl
        XSLT Processor:   Xalan
        Release:          1.0
        Date:             31st March, 2012
        Autogen Engineer: Colin Smythe (IMS GLC, UK)
        Autogen Date:     2012-04-16

        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-2012 (c) IMS Global Learning Consortium Inc.  All Rights Reserved.
    </wsdl11:documentation>

    <!-- Declaration of the WSDL type elements ************************************************************ -->

    <wsdl11:types>
        <xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://www.imsglobal.org/services/lis/oms1p0/wsdl11/sync/imsoms_v1p0"
            xmlns:xs="http://www.w3.org/2001/XMLSchema"
            version="IMS OMS 1.0"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified">

        <!-- Generate Global Attributes *********************************************************************** -->

        <!-- ================================================================================================== -->

        <!-- Generate Global List Types *********************************************************************** -->

        <!-- ================================================================================================== -->

        <!-- Generate Namespaced extension Group  ************************************************************* -->

        <!-- ================================================================================================== -->

        <!-- Generate the enumerated simpleType declarations ************************************************** -->

        <xs:simpleType name="imsx_CodeMajor.Type">
            <xs:restriction base="xs:string">
                <xs:enumeration value="success"/>
                <xs:enumeration value="processing"/>
                <xs:enumeration value="failure"/>
                <xs:enumeration value="unsupported"/>
            </xs:restriction>
        </xs:simpleType>

        <xs:simpleType name="imsx_Severity.Type">
            <xs:restriction base="xs:string">
                <xs:enumeration value="status"/>
                <xs:enumeration value="warning"/>
                <xs:enumeration value="error"/>
            </xs:restriction>
        </xs:simpleType>

        <xs:simpleType name="imsx_CodeMinorValue.Type">
            <xs:restriction base="xs:string">
                <xs:enumeration value="fullsuccess"/>
                <xs:enumeration value="createsuccess"/>
                <xs:enumeration value="nosourcedids"/>
                <xs:enumeration value="idallocfail"/>
                <xs:enumeration value="overflowfail"/>
                <xs:enumeration value="idallocinusefail"/>
                <xs:enumeration value="invaliddata"/>
                <xs:enumeration value="incompletedata"/>
                <xs:enumeration value="partialdatastorage"/>
                <xs:enumeration value="unknownobject"/>
                <xs:enumeration value="unknownquery"/>
                <xs:enumeration value="deletefailure"/>
                <xs:enumeration value="targetreadfailure"/>
                <xs:enumeration value="savepointerror"/>
                <xs:enumeration value="savepointsyncerror"/>
                <xs:enumeration value="toomuchdata"/>
                <xs:enumeration value="unsupportedlineitemtype"/>
                <xs:enumeration value="unknowncontext"/>
                <xs:enumeration value="unauthorizedresultreplace"/>
                <xs:enumeration value="unknownperson"/>
                <xs:enumeration value="gradingnotpermitted"/>
                <xs:enumeration value="invalidresult"/>
                <xs:enumeration value="resultalreadyposted"/>
                <xs:enumeration value="unknownextension"/>
                <xs:enumeration value="unknownvocabulary"/>
                <xs:enumeration value="unknownmdvocabulary"/>
                <xs:enumeration value="targetisbusy"/>
                <xs:enumeration value="linkfailure"/>
                <xs:enumeration value="unauthorizedrequest"/>
                <xs:enumeration value="unsupportedLIS"/>
                <xs:enumeration value="unsupportedLISoperation"/>
            </xs:restriction>
        </xs:simpleType>

        <xs:simpleType name="imsx_GWSVersionValue.Type">
            <xs:restriction base="xs:string">
                <xs:enumeration value="V1.0"/>
            </xs:restriction>
        </xs:simpleType>

        <xs:element name="imsx_codeMajor" type="tns:imsx_CodeMajor.Type"/>

        <xs:element name="imsx_severity" type="tns:imsx_Severity.Type"/>

        <xs:element name="imsx_codeMinorFieldValue" type="tns:imsx_CodeMinorValue.Type"/>

        <xs:element name="imsx_version" type="tns:imsx_GWSVersionValue.Type"/>

        <!-- ================================================================================================== -->

        <!-- Generate the simpleType elements based on IMS data-types (Parameter) ***************************** -->

        <!-- ================================================================================================== -->

        <!-- Generate the simpleType elements based on IMS data-types (Derived) ******************************* -->

        <!-- ================================================================================================== -->

        <!-- Generate the simpleType elements based on IMS data-types (Union) ********************************* -->

        <!-- ================================================================================================== -->

        <!-- Generate the simpleType elements based on IMS data-types (Complex) ******************************* -->

        <xs:element name="contextType" type="xs:anyURI" />

        <xs:element name="date" type="xs:dateTime" />

        <xs:element name="defaultDisplayName" type="xs:normalizedString" />

        <xs:element name="extensionNameVocabulary" type="xs:anyURI" />

        <xs:element name="extensionValueVocabulary" type="xs:anyURI" />

        <xs:element name="fieldName" type="xs:normalizedString" />

        <xs:element name="fieldType" type="xs:normalizedString" />

        <xs:element name="fieldValue" type="xs:normalizedString" />

        <xs:element name="imsx_codeMinorFieldName" type="xs:string" default="TargetEndSystem" />

        <xs:element name="imsx_description" type="xs:string" />

        <xs:element name="imsx_messageIdentifier" type="xs:string" />

        <xs:element name="imsx_messageRefIdentifier" type="xs:string" />

        <xs:element name="imsx_operationRefIdentifier" type="xs:string" />

        <xs:element name="imsx_sendingAgentIdentifier" type="xs:normalizedString" />

        <xs:element name="language" type="xs:normalizedString" />

        <xs:element name="lineItemTypeVocabulary" type="xs:anyURI" />

        <xs:element name="localeKey" type="xs:normalizedString" />

        <xs:element name="max" type="xs:decimal" />

        <xs:element name="metadataNameVocabulary" type="xs:anyURI" />

        <xs:element name="metadataValueVocabulary" type="xs:anyURI" />

        <xs:element name="min" type="xs:decimal" />

        <xs:element name="ordinal" type="xs:integer" />

        <xs:element name="outcomesHandlerSourcedId" type="xs:anyURI" />

        <xs:element name="refAgentInstanceID" type="xs:normalizedString" />

        <xs:element name="replaceStatus" type="xs:normalizedString" />

        <xs:element name="resourceHandlerId" type="xs:anyURI" />

        <xs:element name="resultStatusVocabulary" type="xs:anyURI" />

        <xs:element name="textString" type="xs:string" />

        <!-- ================================================================================================== -->

        <!-- Generate the data-type ComplexTypes ************************************************************** -->

        <xs:complexType name="Context.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The Context complexType is the container for all of the information that establishes the context for a lineItem.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:contextIdentifier" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:contextType" minOccurs = "1" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="ExtensionField.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ExtensionField complexType is the container for each of the extension entries. This is a name/type/value triple.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:fieldName" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:fieldType" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:fieldValue" minOccurs = "1" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="GUIDSet.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The GUIDSet complexType is the container for a set of SourcedIds.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:sourcedId" minOccurs = "0" maxOccurs = "unbounded"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="IMSExtension.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The IMSExtension complexType is the container for the set of extension information.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:extensionNameVocabulary" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:extensionValueVocabulary" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:extensionField" minOccurs = "1" maxOccurs = "unbounded"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="imsx_CodeMinor.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The CodeMinor complexType is the container for the set of code minor status codes reported in the associated IMS SOAP message header.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:imsx_codeMinorField" minOccurs = "1" maxOccurs = "unbounded"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="imsx_CodeMinorField.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The CodeMinorField complexType is the container a single code minor status code.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:imsx_codeMinorFieldName" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:imsx_codeMinorFieldValue" minOccurs = "1" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="imsx_RequestHeaderInfo.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The RequestHeaderInfo complexType is the container for the information to be placed in the SOAP/POX header for the request message transmitted for the associated operation call.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:imsx_version" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:imsx_messageIdentifier" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:imsx_sendingAgentIdentifier" minOccurs = "0" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="imsx_ResponseHeaderInfo.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ResponseHeaderInfo complexType is the container for the information to be placed in the SOAP/POX header for the response message transmitted for the associated operation call.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:imsx_version" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:imsx_messageIdentifier" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:imsx_sendingAgentIdentifier" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:imsx_statusInfo" minOccurs = "1" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="imsx_StatusInfo.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The StatusInfo complexType is the container for the status code and associated information returned within the SOAP message as defined by the IMS GWSv1.0 specification.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:imsx_codeMajor" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:imsx_severity" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:imsx_messageRefIdentifier" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:imsx_operationRefIdentifier" minOccurs = "0" maxOccurs = "unbounded"/>
                <xs:element ref="tns:imsx_description" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:imsx_codeMinor" minOccurs = "0" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="LineItem.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The LineItem complexType is the container for the LineItem data model. A LineItem consists of a column of results that are assigned to a Course component e.g. CourseTemplate, etc. Note that the 'lineItemSettings' attribute was added to support IMS LTI specification-specific operational needs.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:context" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:lineItemType" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:label" minOccurs = "0" maxOccurs = "1"/>
                <xs:choice minOccurs = "0" maxOccurs = "1">
                    <xs:element ref="tns:resultValueSourcedId" minOccurs = "1" maxOccurs = "1"/>
                    <xs:element ref="tns:resultValue" minOccurs = "1" maxOccurs = "1"/>
                </xs:choice>
                <xs:element ref="tns:lineItemSettings" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:outcomesHandlerSourcedId" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:dataSource" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:recordInfo" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:extension" minOccurs = "0" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="LineItemRecord.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The LineItemRecord complexType defines the association between the globally unique identifier of a LineItem object and the LineItem object iself.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:sourcedGUID" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:lineItem" minOccurs = "1" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="LineItemRecordSet.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The LineItemRecordSet complexType is the container for the collection of LineItemRecords.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:lineItemRecord" minOccurs = "0" maxOccurs = "unbounded"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="LineItemType.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The LineItemType complexType is the container for the definition of the type of lineItem. The value-space for the 'lineItemTypeValue' attribute is defined in the associated VDEX vocabulary.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:lineItemTypeVocabulary" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:lineItemTypeValue" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:resourceHandlerId" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:localeKey" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:defaultDisplayName" minOccurs = "0" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="Metadata.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The Metadata complexType is the container for meta-data that is used to describe an object. At the curremt time this is just a set of name/type/value triples.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:metadataNameVocabulary" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:metadataValueVocabulary" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:metadataField" minOccurs = "1" maxOccurs = "unbounded"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="OrderedValue.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The OrderedValue complexType is the container for each of the values in the set of permitted values.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:ordinal" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:grade" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:valueRange" minOccurs = "0" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="PropertySet.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    To be defined with respect to the LTI Specification. In general, this class is removed for non-LTI releated specification profiles.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="ReplaceStatusCode.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ReplaceStatusCode complexType is the container for the status code for the attempted replace operation on the result object identified by the enclosed sourcedId.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:resultSourcedId" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:replaceStatus" minOccurs = "1" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="ReplaceStatusCodes.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ReplaceStatusCodes complexType is the container for the set of status codes that are returned for the set attempted replace result operations.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:replaceStatusCode" minOccurs = "1" maxOccurs = "unbounded"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="Result.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The Result complexType is the container for a Result. Each Result identifies the Person to whom the result is assigned and the set of attributes for the result value.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:statusofResult" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:lineItemSourcedId" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:personSourcedId" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:date" minOccurs = "0" maxOccurs = "1"/>
                <xs:choice minOccurs = "0" maxOccurs = "1">
                    <xs:element ref="tns:resultValueSourcedId" minOccurs = "1" maxOccurs = "1"/>
                    <xs:element ref="tns:resultValue" minOccurs = "1" maxOccurs = "1"/>
                </xs:choice>
                <xs:element ref="tns:resultScore" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:resultMessageSettings" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:dataSource" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:recordInfo" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:extension" minOccurs = "0" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="ResultRecord.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ResultRecord complexType is the container for the association of a Result object with its globally unique identifier i.e. its sourcedId
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:sourcedGUID" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:result" minOccurs = "1" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="ResultRecordSet.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ResultRecordSet complexType is the container for the collection of ResultRecords.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:resultRecord" minOccurs = "0" maxOccurs = "unbounded"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="ResultStatus.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ResultStatus complexType is the container for the information about the status of the result. The value-space for the 'resultStatusValue' attribute is defined in the associated default VDEX vocabulary.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:resultStatusVocabulary" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:resultStatusValue" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:localeKey" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:defaultDisplayName" minOccurs = "0" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="ResultValue.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ResultValueComplexType is the container for the information about the set of values that are permitted for a Result. This is either a set of values or a numeric range.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:label" minOccurs = "0" maxOccurs = "1"/>
                <xs:choice minOccurs = "0" maxOccurs = "1">
                    <xs:element ref="tns:valueList" minOccurs = "1" maxOccurs = "1"/>
                    <xs:element ref="tns:valueRange" minOccurs = "1" maxOccurs = "1"/>
                </xs:choice>
                <xs:element ref="tns:dataSource" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:recordInfo" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:extension" minOccurs = "0" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="ResultValueRecord.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ResultValueRecord complexType is the container for the association of a ResultValue object with its globally unique identifier i.e. its sourcedId.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:sourcedGUID" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:resultValue" minOccurs = "1" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="ResultValueRecordSet.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ResultValueRecordSet complexType is the container for the collection of ResultValueRecords.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:resultValueRecord" minOccurs = "0" maxOccurs = "unbounded"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="SourcedGUID.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The SourcedGUID complexType is the container for the extended sourcedId. The refAgentInstamceID permits multiple endpoint differentiation.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:refAgentInstanceID" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:sourcedId" minOccurs = "1" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="Text.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The text complexType is the container for a language specific string. The language is denoted using the ISO 639 code set. See the corresponding VDEX file that contains the permitted value-space enumeration.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:language" minOccurs = "1" maxOccurs = "1"/>
                <xs:element ref="tns:textString" minOccurs = "1" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="ValueList.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ValueList complexType is the container for the set of values that can be allocated to a Result.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:orderValue" minOccurs = "1" maxOccurs = "unbounded"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="ValueRange.Type" mixed="false">
            <xs:annotation>
                <xs:documentation source="umldocumentation">
                    The ValueRange complexType is the container for the minimum and maximum numeric value that a Result can have.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element ref="tns:min" minOccurs = "0" maxOccurs = "1"/>
                <xs:element ref="tns:max" minOccurs = "0" maxOccurs = "1"/>
            </xs:sequence>
        </xs:complexType>

        <!-- ================================================================================================== -->

        <!-- Generate the derived data-type elements based upon simpleType ************************************ -->

        <xs:simpleType name="GUID.Type">
            <xs:restriction base="xs:normalizedString"/>
        </xs:simpleType>

        <xs:simpleType name="SequenceIdentifier.Type">
            <xs:restriction base="xs:dateTime"/>
        </xs:simpleType>

        <xs:simpleType name="QueryObject.Type">
            <xs:restriction base="xs:normalizedString"/>
        </xs:simpleType>

        <!-- ================================================================================================== -->

        <!-- Generate the derived data-type elements based upon derived simpleType **************************** -->

        <!-- ================================================================================================== -->

        <!-- Declaration of the elements (Complex) ************************************************************ -->

        <xs:element name="context" type="tns:Context.Type"/>

        <xs:element name="extension" type="tns:IMSExtension.Type"/>

        <xs:element name="extensionField" type="tns:ExtensionField.Type"/>

        <xs:element name="grade" type="tns:Text.Type"/>

        <xs:element name="imsx_codeMinor" type="tns:imsx_CodeMinor.Type"/>

        <xs:element name="imsx_codeMinorField" type="tns:imsx_CodeMinorField.Type"/>

        <xs:element name="imsx_statusInfo" type="tns:imsx_StatusInfo.Type"/>

        <xs:element name="label" type="tns:Text.Type"/>

        <xs:element name="lineItem" type="tns:LineItem.Type"/>

        <xs:element name="lineItemSettings" type="tns:PropertySet.Type"/>

        <xs:element name="lineItemTypeValue" type="tns:Text.Type"/>

        <xs:element name="metadataField" type="tns:ExtensionField.Type"/>

        <xs:element name="orderValue" type="tns:OrderedValue.Type"/>

        <xs:element name="recordInfo" type="tns:Metadata.Type"/>

        <xs:element name="replaceStatusCode" type="tns:ReplaceStatusCode.Type"/>

        <xs:element name="result" type="tns:Result.Type"/>

        <xs:element name="resultMessageSettings" type="tns:PropertySet.Type"/>

        <xs:element name="resultScore" type="tns:Text.Type"/>

        <xs:element name="resultStatusValue" type="tns:Text.Type"/>

        <xs:element name="resultValue" type="tns:ResultValue.Type"/>

        <xs:element name="sourcedGUID" type="tns:SourcedGUID.Type"/>

        <xs:element name="statusofResult" type="tns:ResultStatus.Type"/>

        <xs:element name="valueList" type="tns:ValueList.Type"/>

        <xs:element name="valueRange" type="tns:ValueRange.Type"/>

        <!-- ================================================================================================== -->

        <!-- Declaration of the elements (Derived) ************************************************************* -->

        <xs:element name="contextIdentifier" type="tns:GUID.Type"/>

        <xs:element name="dataSource" type="tns:GUID.Type"/>

        <!-- ================================================================================================== -->

        <!-- Declaration of the message parameter elements **************************************************** -->

        <xs:element name="contextSourcedId" type="tns:GUID.Type"/>

        <xs:element name="courseOfferingSourcedId" type="tns:GUID.Type"/>

        <xs:element name="courseSectionSourcedId" type="tns:GUID.Type"/>

        <xs:element name="fromSavePoint" type="tns:SequenceIdentifier.Type"/>

        <xs:element name="lineItemRecord" type="tns:LineItemRecord.Type"/>

        <xs:element name="lineItemRecordSet" type="tns:LineItemRecordSet.Type"/>

        <xs:element name="lineItemSourcedId" type="tns:GUID.Type"/>

        <xs:element name="lineItemType" type="tns:LineItemType.Type"/>

        <xs:element name="newSourcedId" type="tns:GUID.Type"/>

        <xs:element name="offeringSourcedId" type="tns:GUID.Type"/>

        <xs:element name="personSourcedId" type="tns:GUID.Type"/>

        <xs:element name="queryObject" type="tns:QueryObject.Type"/>

        <xs:element name="replaceStatusCodes" type="tns:ReplaceStatusCodes.Type"/>

        <xs:element name="resultIdSet" type="tns:GUIDSet.Type"/>

        <xs:element name="resultRecord" type="tns:ResultRecord.Type"/>

        <xs:element name="resultRecordSet" type="tns:ResultRecordSet.Type"/>

        <xs:element name="resultSourcedId" type="tns:GUID.Type"/>

        <xs:element name="resultStatus" type="tns:ResultStatus.Type"/>

        <xs:element name="resultValueRecord" type="tns:ResultValueRecord.Type"/>

        <xs:element name="resultValueRecordSet" type="tns:ResultValueRecordSet.Type"/>

        <xs:element name="resultValueSourcedId" type="tns:GUID.Type"/>

        <xs:element name="savePoint" type="tns:SequenceIdentifier.Type"/>

        <xs:element name="sectionSourcedId" type="tns:GUID.Type"/>

        <xs:element name="sourcedId" type="tns:GUID.Type"/>

        <xs:element name="sourcedIdSet" type="tns:GUIDSet.Type"/>

        <!-- ================================================================================================== -->

        <!-- Declaration of the message body elements ********************************************************* -->

        <xs:element name="createLineItemRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedId"/>
                    <xs:element ref="tns:lineItemRecord"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="createLineItemResponse" />

        <xs:element name="createByProxyLineItemRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:lineItemRecord"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="createByProxyLineItemResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedId" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="deleteLineItemRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedId"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="deleteLineItemResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:resultIdSet" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedId"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:lineItemRecord" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readAllLineItemIdsRequest" />

        <xs:element name="readAllLineItemIdsResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedIdSet" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsForPersonRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:personSourcedId"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsForPersonResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedIdSet" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsForCourseOfferingRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:offeringSourcedId"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsForCourseOfferingResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedIdSet" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsForCourseSectionRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sectionSourcedId"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsForCourseSectionResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedIdSet" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsForCourseSectionWithLineItemTypeRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sectionSourcedId"/>
                    <xs:element ref="tns:lineItemType"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsForCourseSectionWithLineItemTypeResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedIdSet" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsWithLineItemTypeRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:lineItemType"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsWithLineItemTypeResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedIdSet" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsFromSavePointRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:fromSavePoint"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemIdsFromSavePointResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedIdSet" minOccurs="0" maxOccurs="1"/>
                    <xs:element ref="tns:savePoint" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemsRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedIdSet"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemsResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:lineItemRecordSet" minOccurs="0" maxOccurs="1"/>
                    <xs:element ref="tns:savePoint" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemsFromSavePointRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:fromSavePoint"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="readLineItemsFromSavePointResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:lineItemRecordSet" minOccurs="0" maxOccurs="1"/>
                    <xs:element ref="tns:savePoint" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="updateLineItemRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedId"/>
                    <xs:element ref="tns:lineItemRecord"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="updateLineItemResponse" />

        <xs:element name="replaceLineItemRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedId"/>
                    <xs:element ref="tns:lineItemRecord"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="replaceLineItemResponse" />

        <xs:element name="discoverLineItemIdsRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:queryObject"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="discoverLineItemIdsResponse">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedIdSet" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="changeLineItemIdentifierRequest">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="tns:sourcedId"/>
                    <xs:element ref="tns:newSourcedId"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>

        <xs:element name="changeLineItemIdentifierResponse" />

        <!-- ================================================================================================== -->

        <!-- Declaration of the root element(s) *************************************************************** -->

        <xs:element name="imsx_syncRequestHeaderInfo" type="tns:imsx_RequestHeaderInfo.Type"/>
        <xs:element name="imsx_syncResponseHeaderInfo" type="tns:imsx_ResponseHeaderInfo.Type"/>

        <!-- ================================================================================================== -->

        </xs:schema>
    </wsdl11:types>

    <!-- ================================================================================================== -->

    <!-- Declaration of the WSDL message elements ********************************************************* -->

    <wsdl11:message name="createLineItemRequest">
        <wsdl11:part name="Parameters" element="tns:createLineItemRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="createLineItemResponse">
        <wsdl11:part name="Response" element="tns:createLineItemResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="createByProxyLineItemRequest">
        <wsdl11:part name="Parameters" element="tns:createByProxyLineItemRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="createByProxyLineItemResponse">
        <wsdl11:part name="Response" element="tns:createByProxyLineItemResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="deleteLineItemRequest">
        <wsdl11:part name="Parameters" element="tns:deleteLineItemRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="deleteLineItemResponse">
        <wsdl11:part name="Response" element="tns:deleteLineItemResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemRequest">
        <wsdl11:part name="Parameters" element="tns:readLineItemRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemResponse">
        <wsdl11:part name="Response" element="tns:readLineItemResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readAllLineItemIdsRequest">
        <wsdl11:part name="Parameters" element="tns:readAllLineItemIdsRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readAllLineItemIdsResponse">
        <wsdl11:part name="Response" element="tns:readAllLineItemIdsResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsForPersonRequest">
        <wsdl11:part name="Parameters" element="tns:readLineItemIdsForPersonRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsForPersonResponse">
        <wsdl11:part name="Response" element="tns:readLineItemIdsForPersonResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsForCourseOfferingRequest">
        <wsdl11:part name="Parameters" element="tns:readLineItemIdsForCourseOfferingRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsForCourseOfferingResponse">
        <wsdl11:part name="Response" element="tns:readLineItemIdsForCourseOfferingResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsForCourseSectionRequest">
        <wsdl11:part name="Parameters" element="tns:readLineItemIdsForCourseSectionRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsForCourseSectionResponse">
        <wsdl11:part name="Response" element="tns:readLineItemIdsForCourseSectionResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsForCourseSectionWithLineItemTypeRequest">
        <wsdl11:part name="Parameters" element="tns:readLineItemIdsForCourseSectionWithLineItemTypeRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsForCourseSectionWithLineItemTypeResponse">
        <wsdl11:part name="Response" element="tns:readLineItemIdsForCourseSectionWithLineItemTypeResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsWithLineItemTypeRequest">
        <wsdl11:part name="Parameters" element="tns:readLineItemIdsWithLineItemTypeRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsWithLineItemTypeResponse">
        <wsdl11:part name="Response" element="tns:readLineItemIdsWithLineItemTypeResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsFromSavePointRequest">
        <wsdl11:part name="Parameters" element="tns:readLineItemIdsFromSavePointRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemIdsFromSavePointResponse">
        <wsdl11:part name="Response" element="tns:readLineItemIdsFromSavePointResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemsRequest">
        <wsdl11:part name="Parameters" element="tns:readLineItemsRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemsResponse">
        <wsdl11:part name="Response" element="tns:readLineItemsResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemsFromSavePointRequest">
        <wsdl11:part name="Parameters" element="tns:readLineItemsFromSavePointRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="readLineItemsFromSavePointResponse">
        <wsdl11:part name="Response" element="tns:readLineItemsFromSavePointResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="updateLineItemRequest">
        <wsdl11:part name="Parameters" element="tns:updateLineItemRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="updateLineItemResponse">
        <wsdl11:part name="Response" element="tns:updateLineItemResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="replaceLineItemRequest">
        <wsdl11:part name="Parameters" element="tns:replaceLineItemRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="replaceLineItemResponse">
        <wsdl11:part name="Response" element="tns:replaceLineItemResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="discoverLineItemIdsRequest">
        <wsdl11:part name="Parameters" element="tns:discoverLineItemIdsRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="discoverLineItemIdsResponse">
        <wsdl11:part name="Response" element="tns:discoverLineItemIdsResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="changeLineItemIdentifierRequest">
        <wsdl11:part name="Parameters" element="tns:changeLineItemIdentifierRequest"/>
        <wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
    </wsdl11:message>
    <wsdl11:message name="changeLineItemIdentifierResponse">
        <wsdl11:part name="Response" element="tns:changeLineItemIdentifierResponse"/>
        <wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
    </wsdl11:message>

    <!-- ================================================================================================== -->

    <!-- Declaration of the WSDL portType elements ******************************************************** -->

    <wsdl11:portType name="LineItemManagerSyncPortType">
        <wsdl11:documentation>
            PortType Description
            --------------------
            This is the LineItemManager interface.  
            The operations are:
            
            1) CreateLineItem
            2) CreateByProxyLineItem
            3) DeleteLineItem
            4) ReadLineItem
            5) ReadAllLineItemIds
            6) ReadLineItemIdsForPerson
            7) ReadLineItemIdsForCourseOffering
            8) ReadLineItemIdsForCourseSection
            9) ReadLineItemIdsForCourseSectionWithLineItemType
            10) ReadLineItemIdsWithLineItemType
            11) ReadLineItemIdsFromSavePoint
            12) ReadLineItems
            13) ReadLineItemsFromSavePoint
            14) UpdateLineItem
            15) ReplaceLineItem
            16) DiscoverLineItemIds
            17) ChangeLineItemIdentifier
        </wsdl11:documentation>
        <wsdl11:operation name="createLineItem">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'createLineItem' operation requests the service provider to create a new LineItem object with the supplied sourcedId value.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:createLineItemRequest"/>
            <wsdl11:output message="tns:createLineItemResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="createByProxyLineItem">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'createByProxyLineItem' operation requests the service provider to create a new LineItem object with a sourcedId allocated by the service provider itself.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:createByProxyLineItemRequest"/>
            <wsdl11:output message="tns:createByProxyLineItemResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="deleteLineItem">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'deleteLineItem' operation requests the service provider to delete the identified LineItem object.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:deleteLineItemRequest"/>
            <wsdl11:output message="tns:deleteLineItemResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItem">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'readLineItem' operation requests the service provider to supply the stored data for the identified LineItem object.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:readLineItemRequest"/>
            <wsdl11:output message="tns:readLineItemResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="readAllLineItemIds">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'readAllLineItemIds' operation requests the service provider to supply all of the SourcedIds that have been assigned to LineItem objects.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:readAllLineItemIdsRequest"/>
            <wsdl11:output message="tns:readAllLineItemIdsResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsForPerson">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'readLineItemIdsForPerson' operation requests the service provider to supply the SourcedIds of the LineItem objects that contain results for the identified Person.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:readLineItemIdsForPersonRequest"/>
            <wsdl11:output message="tns:readLineItemIdsForPersonResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsForCourseOffering">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'readLineItemIdsForCourseOffering' operation requests the service provider to supply the SourcedIds of the LineItem objects that contain results associated with the identified CourseOffering.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:readLineItemIdsForCourseOfferingRequest"/>
            <wsdl11:output message="tns:readLineItemIdsForCourseOfferingResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsForCourseSection">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'readLineItemIdsForCourseSection' operation requests the service provider to supply the SourcedIds of the LineItem objects that contain results associated with the identified CourseSection.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:readLineItemIdsForCourseSectionRequest"/>
            <wsdl11:output message="tns:readLineItemIdsForCourseSectionResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsForCourseSectionWithLineItemType">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'readLineItemIdsForCourseSectionWithLineItemType' operation requests the service provider to supply the SourcedIds of the LineItem objects for the identified CourseSection with the identified LineItemType.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:readLineItemIdsForCourseSectionWithLineItemTypeRequest"/>
            <wsdl11:output message="tns:readLineItemIdsForCourseSectionWithLineItemTypeResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsWithLineItemType">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'readLineItemIdsWithLineItemTypen' operation requests the service provider to supply the SourcedIds of the LineItem objects with the identified LineItemType.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:readLineItemIdsWithLineItemTypeRequest"/>
            <wsdl11:output message="tns:readLineItemIdsWithLineItemTypeResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsFromSavePoint">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'readLineItemIdsFromSavePoint' operation requests the service provider to supply the SourcedIds of the LineItem objects that have been altered after the defined reference point (SavePoint).</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:readLineItemIdsFromSavePointRequest"/>
            <wsdl11:output message="tns:readLineItemIdsFromSavePointResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItems">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'readLineItems' operation requests the service provider to supply the LineItem objects that have been identified by the service consumer.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:readLineItemsRequest"/>
            <wsdl11:output message="tns:readLineItemsResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemsFromSavePoint">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'readLineItemsFromSavePoint' operation requests the service provider to supply the LineItem objects that have been altered after the defined reference point (SavePoint).</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:readLineItemsFromSavePointRequest"/>
            <wsdl11:output message="tns:readLineItemsFromSavePointResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="updateLineItem">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'updateLineItem' operation requests the service provider to write the new data into identified LineItem object (this is an additive write).</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:updateLineItemRequest"/>
            <wsdl11:output message="tns:updateLineItemResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="replaceLineItem">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'replaceLineItem' operation requests the service provider to write the new data into identified LineItem object (this is an destructive overwrite of all the previously stored data). If the identified object does not exist, this becomes a 'createLineItem' operation.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:replaceLineItemRequest"/>
            <wsdl11:output message="tns:replaceLineItemResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="discoverLineItemIds">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'discoverLineItem' operation requests the service provider to supply the SourcedIds for all of the LineItem objects that comply to the supplied search criteria.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:discoverLineItemIdsRequest"/>
            <wsdl11:output message="tns:discoverLineItemIdsResponse"/>
        </wsdl11:operation>
        <wsdl11:operation name="changeLineItemIdentifier">
            <wsdl11:documentation>
                Operation Description
                ---------------------
                <p>The 'changeLineItemIdentifier' operation requests the service provider to change the SourcedId for the identified LineItem object.</p>
            </wsdl11:documentation>
            <wsdl11:input message="tns:changeLineItemIdentifierRequest"/>
            <wsdl11:output message="tns:changeLineItemIdentifierResponse"/>
        </wsdl11:operation>
    </wsdl11:portType>

    <!-- ================================================================================================== -->

    <!-- Declaration of the WSDL binding elements ********************************************************* -->

    <wsdl11:binding name="LineItemManagerSyncSoapBinding" type="tns:LineItemManagerSyncPortType">
        <soap11:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <wsdl11:operation name="createLineItem">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/createLineItem" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:createLineItemRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:createLineItemResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="createByProxyLineItem">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/createByProxyLineItem" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:createByProxyLineItemRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:createByProxyLineItemResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="deleteLineItem">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/deleteLineItem" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:deleteLineItemRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:deleteLineItemResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItem">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/readLineItem" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:readLineItemRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:readLineItemResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="readAllLineItemIds">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/readAllLineItemIds" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:readAllLineItemIdsRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:readAllLineItemIdsResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsForPerson">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/readLineItemIdsForPerson" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:readLineItemIdsForPersonRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:readLineItemIdsForPersonResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsForCourseOffering">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/readLineItemIdsForCourseOffering" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:readLineItemIdsForCourseOfferingRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:readLineItemIdsForCourseOfferingResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsForCourseSection">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/readLineItemIdsForCourseSection" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:readLineItemIdsForCourseSectionRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:readLineItemIdsForCourseSectionResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsForCourseSectionWithLineItemType">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/readLineItemIdsForCourseSectionWithLineItemType" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:readLineItemIdsForCourseSectionWithLineItemTypeRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:readLineItemIdsForCourseSectionWithLineItemTypeResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsWithLineItemType">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/readLineItemIdsWithLineItemType" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:readLineItemIdsWithLineItemTypeRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:readLineItemIdsWithLineItemTypeResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemIdsFromSavePoint">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/readLineItemIdsFromSavePoint" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:readLineItemIdsFromSavePointRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:readLineItemIdsFromSavePointResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItems">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/readLineItems" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:readLineItemsRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:readLineItemsResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="readLineItemsFromSavePoint">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/readLineItemsFromSavePoint" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:readLineItemsFromSavePointRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:readLineItemsFromSavePointResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="updateLineItem">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/updateLineItem" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:updateLineItemRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:updateLineItemResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="replaceLineItem">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/replaceLineItem" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:replaceLineItemRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:replaceLineItemResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="discoverLineItemIds">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/discoverLineItemIds" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:discoverLineItemIdsRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:discoverLineItemIdsResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
        <wsdl11:operation name="changeLineItemIdentifier">
            <soap11:operation soapAction="http://www.imsglobal.org/soap/lis/oms1p0/changeLineItemIdentifier" style="document"/>
            <wsdl11:input>
                <soap11:body use="literal" parts="Parameters"/>
                <soap11:header message="tns:changeLineItemIdentifierRequest" part="HeaderInfoParameters" use="literal" wsdl11:required="true"/>
            </wsdl11:input>
            <wsdl11:output>
                <soap11:body use="literal" parts="Response"/>
                <soap11:header message="tns:changeLineItemIdentifierResponse" part="HeaderInfoResponse" use="literal" wsdl11:required="true"/>
            </wsdl11:output>
        </wsdl11:operation>
    </wsdl11:binding>

    <!-- ================================================================================================== -->

    <!-- Declaration of the WSDL service elements ********************************************************* -->

    <wsdl11:service name="OutcomesManagementServiceSyncService">
        <wsdl11:documentation>
            Service Information
            -------------------
            Author:         Colin Smythe
            Date:           16th April, 2012
            Version:        2.0
            Status:         Public Draft
            Description:    The Outcomes Management Service is composed of three interfaces 
                            each of which has several operations.  The interaces are for each of the 
                            LinetemRecord, ResultRecord and ResultValueRecord object management.
            History:        Version 1.0: This is the first formal release of this service.
                            This service is a part of the IMS LIS v2.0 specification.
        </wsdl11:documentation>
        <wsdl11:port name="LineItemManagerSyncSoapPort" binding="tns:LineItemManagerSyncSoapBinding">
            <soap11:address location="http://www.imsglobal.org/lis/oms1p0/LineItemManagerSyncSoap/"/>
        </wsdl11:port>
    </wsdl11:service>

    <!-- ================================================================================================== -->

</wsdl11:definitions>
