WSDL Authentication

Use the following URL to access the service. Replace <server:port> with appropriate values for your environment.

http://<server:port>/Cmc.CampusLink.WebServices.Security/Authentication.asmx

This WSDL describes the Authentication service.

<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.campusmgmt.com/Soa/Foundation/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s1="http://www.campusmgmt.com/Soa/Foundation/MessageDefinition.xsd" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.campusmgmt.com/Soa/Foundation/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.campusmgmt.com/Soa/Foundation/">
      <s:import namespace="http://www.campusmgmt.com/Soa/Foundation/MessageDefinition.xsd" />
      <s:element name="GetAuthorizationToken">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" ref="s1:TokenRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAuthorizationTokenResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" ref="s1:TokenResponse" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RequestHeader" type="tns:RequestHeader" />
      <s:complexType name="RequestHeader">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Headers" type="tns:ArrayOfAnyType" />
        </s:sequence>
        <s:anyAttribute />
      </s:complexType>
      <s:complexType name="ArrayOfAnyType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="anyType" nillable="true" />
        </s:sequence>
      </s:complexType>
      <s:element name="ResponseHeader" type="tns:ResponseHeader" />
      <s:complexType name="ResponseHeader">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Headers" type="tns:ArrayOfAnyType" />
        </s:sequence>
        <s:anyAttribute />
      </s:complexType>
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.campusmgmt.com/Soa/Foundation/MessageDefinition.xsd">
      <s:element name="TokenRequest" type="s1:TokenRequest" />
      <s:complexType name="TokenRequest">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="UserName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" default="0" name="StaffId" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" default="" name="Signature" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" default="false" name="TokenNeverExpires" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="MessageState" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="TokenResponse" type="s1:TokenResponse" />
      <s:complexType name="TokenResponse">
        <s:complexContent mixed="false">
          <s:extension base="s1:GenericResponse">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" default="-1" name="UserId" type="s:int" />
              <s:element minOccurs="0" maxOccurs="1" default="OK" name="SecurityTransactionStatus" type="s1:SecurityStatusType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="GenericResponse">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="Status" type="s1:TrxStatus" />
          <s:element minOccurs="0" maxOccurs="1" name="TrxResult" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="TokenId" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="TrxStatus">
        <s:restriction base="s:string">
          <s:enumeration value="OK" />
          <s:enumeration value="ErrorSQL" />
          <s:enumeration value="ErrorBusinessLogic" />
          <s:enumeration value="ErrorWebService" />
          <s:enumeration value="ErrorArguments" />
          <s:enumeration value="ErrorSecurity" />
          <s:enumeration value="ErrorSystem" />
          <s:enumeration value="ErrorMultiple" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="SecurityStatusType">
        <s:restriction base="s:string">
          <s:enumeration value="OK" />
          <s:enumeration value="FailedPasswordLength" />
          <s:enumeration value="FailedPasswordComplex" />
          <s:enumeration value="Expired" />
        </s:restriction>
      </s:simpleType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetAuthorizationTokenSoapIn">
    <wsdl:part name="parameters" element="tns:GetAuthorizationToken" />
  </wsdl:message>
  <wsdl:message name="GetAuthorizationTokenSoapOut">
    <wsdl:part name="parameters" element="tns:GetAuthorizationTokenResponse" />
  </wsdl:message>
  <wsdl:message name="GetAuthorizationTokenRequestHeader">
    <wsdl:part name="RequestHeader" element="tns:RequestHeader" />
  </wsdl:message>
  <wsdl:message name="GetAuthorizationTokenResponseHeader">
    <wsdl:part name="ResponseHeader" element="tns:ResponseHeader" />
  </wsdl:message>
  <wsdl:portType name="AuthenticationSoap">
    <wsdl:operation name="GetAuthorizationToken">
      <wsdl:input message="tns:GetAuthorizationTokenSoapIn" />
      <wsdl:output message="tns:GetAuthorizationTokenSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="AuthenticationSoap" type="tns:AuthenticationSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetAuthorizationToken">
      <soap:operation soapAction="http://www.campusmgmt.com/Soa/Foundation/GetAuthorizationToken" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetAuthorizationTokenRequestHeader" part="RequestHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
        <soap:header message="tns:GetAuthorizationTokenResponseHeader" part="ResponseHeader" use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="AuthenticationSoap12" type="tns:AuthenticationSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetAuthorizationToken">
      <soap12:operation soapAction="http://www.campusmgmt.com/Soa/Foundation/GetAuthorizationToken" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:GetAuthorizationTokenRequestHeader" part="RequestHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
        <soap12:header message="tns:GetAuthorizationTokenResponseHeader" part="ResponseHeader" use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="Authentication">
    <wsdl:port name="AuthenticationSoap" binding="tns:AuthenticationSoap">
      <soap:address location="http://localhost/Cmc.CampusLink.WebServices.Security/Authentication.asmx" />
    </wsdl:port>
    <wsdl:port name="AuthenticationSoap12" binding="tns:AuthenticationSoap12">
      <soap12:address location="http://localhost/Cmc.CampusLink.WebServices.Security/Authentication.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

SOAP Request and Response

The following are the SOAP 1.1 and SOAP 1.2 service request and response to get an authorization token.

The placeholders for data types (boolean, decimal, dateTime, int, string) and length need to be replaced with actual values.

SOAP 1.1

POST /Cmc.CampusLink.WebServices.Security/Authentication.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.campusmgmt.com/Soa/Foundation/GetAuthorizationToken"

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Header>

<RequestHeader xmlns="http://www.campusmgmt.com/Soa/Foundation/">

<Headers>

<anyType />

<anyType />

</Headers>

</RequestHeader>

</soap:Header>

<soap:Body>

<GetAuthorizationToken xmlns="http://www.campusmgmt.com/Soa/Foundation/">

<TokenRequest xmlns="http://www.campusmgmt.com/Soa/Foundation/MessageDefinition.xsd">

<UserName>string</UserName>

<Password>string</Password>

<StaffId>int</StaffId>

<Signature>string</Signature>

<TokenNeverExpires>boolean</TokenNeverExpires>

<MessageState>string</MessageState>

</TokenRequest>

</GetAuthorizationToken>

</soap:Body>

</soap:Envelope>

 

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Header>

<ResponseHeader xmlns="http://www.campusmgmt.com/Soa/Foundation/">

<Headers>

<anyType />

<anyType />

</Headers>

</ResponseHeader>

</soap:Header>

<soap:Body>

<GetAuthorizationTokenResponse xmlns="http://www.campusmgmt.com/Soa/Foundation/">

<TokenResponse xmlns="http://www.campusmgmt.com/Soa/Foundation/MessageDefinition.xsd">

<UserId>int</UserId>

<SecurityTransactionStatus>OK or FailedPasswordLength or FailedPasswordComplex</SecurityTransactionStatus>

</TokenResponse>

</GetAuthorizationTokenResponse>

</soap:Body>

</soap:Envelope>

SOAP 1.2

POST /Cmc.CampusLink.WebServices.Security/Authentication.asmx HTTP/1.1
Host: localhost
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">

<soap12:Header>

<RequestHeader xmlns="http://www.campusmgmt.com/Soa/Foundation/">

<Headers>

<anyType />

<anyType />

</Headers>

</RequestHeader>

</soap12:Header>

<soap12:Body>

<GetAuthorizationToken xmlns="http://www.campusmgmt.com/Soa/Foundation/">

<TokenRequest xmlns="http://www.campusmgmt.com/Soa/Foundation/MessageDefinition.xsd">

<UserName>string</UserName>

<Password>string</Password>

<StaffId>int</StaffId>

<Signature>string</Signature>

<TokenNeverExpires>boolean</TokenNeverExpires>

<MessageState>string</MessageState>

</TokenRequest>

</GetAuthorizationToken>

</soap12:Body>

</soap12:Envelope>

 

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">

<soap12:Header>

<ResponseHeader xmlns="http://www.campusmgmt.com/Soa/Foundation/">

<Headers>

<anyType />

<anyType />

</Headers>

</ResponseHeader>

</soap12:Header>

<soap12:Body>

<GetAuthorizationTokenResponse xmlns="http://www.campusmgmt.com/Soa/Foundation/">

<TokenResponse xmlns="http://www.campusmgmt.com/Soa/Foundation/MessageDefinition.xsd">

<UserId>int</UserId>

<SecurityTransactionStatus>OK or FailedPasswordLength or FailedPasswordComplex</SecurityTransactionStatus>

</TokenResponse>

</GetAuthorizationTokenResponse>

</soap12:Body>

</soap12:Envelope>