<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://isis.ais.ucla.edu/ws/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://isis.ais.ucla.edu/ws/" xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://isis.ais.ucla.edu/ws/">
      <s:element name="StartSession">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="uclaId" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="userIpAddr" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="StartSessionResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="iwsResponse" nillable="true" type="s0:IwsResponse" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="IwsResponse">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="sessionInfo" nillable="true" type="s0:IwsSession" />
          <s:element minOccurs="1" maxOccurs="1" name="errorInfo" nillable="true" type="s0:IwsErrorCollection" />
        </s:sequence>
        <s:attribute name="action" type="s0:ActionEnum" />
        <s:attribute name="hasErrors" type="s:boolean" />
        <s:attribute name="transactionId" type="s:long" />
      </s:complexType>
      <s:complexType name="IwsSession">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="userAttributes" type="s0:ArrayOfIwsUserAttribute" />
          <s:element minOccurs="0" maxOccurs="1" name="accounts" type="s0:ArrayOfIwsAccount" />
          <s:element minOccurs="1" maxOccurs="1" name="ticket" nillable="true" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="uclaId" nillable="true" type="s:string" />
        </s:sequence>
        <s:attribute name="status" type="s0:SessionStatus" />
      </s:complexType>
      <s:complexType name="ArrayOfIwsUserAttribute">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="attribute" type="s0:IwsUserAttribute" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="IwsUserAttribute">
        <s:attribute name="name" type="s:string" />
        <s:attribute name="value" type="s:string" />
      </s:complexType>
      <s:complexType name="ArrayOfIwsAccount">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="account" type="s0:IwsAccount" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="IwsAccount">
        <s:attribute name="loginId" type="s:string" />
        <s:attribute name="type" type="s0:LoginType" />
        <s:attribute name="status" type="s0:AccountStatus" />
      </s:complexType>
      <s:simpleType name="LoginType">
        <s:restriction base="s:string">
          <s:enumeration value="BruinOnline" />
          <s:enumeration value="ACF2" />
          <s:enumeration value="QDB" />
          <s:enumeration value="UID" />
          <s:enumeration value="CommonLogon" />
          <s:enumeration value="RACF" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="AccountStatus">
        <s:restriction base="s:string">
          <s:enumeration value="Unknown" />
          <s:enumeration value="Active" />
          <s:enumeration value="Authenticated" />
          <s:enumeration value="AuthenticatedWithCachedCredential" />
          <s:enumeration value="NotAuthenticated" />
          <s:enumeration value="PermmanentlySuspended" />
          <s:enumeration value="TemporarilySuspended" />
          <s:enumeration value="PasswordResetRequired" />
          <s:enumeration value="InvalidID" />
          <s:enumeration value="" /> <!-- For bug #77945 -->
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="SessionStatus">
        <s:restriction base="s:string">
          <s:enumeration value="Uninitialized" />
          <s:enumeration value="Active" />
          <s:enumeration value="ActiveWithCachedCredential" />
          <s:enumeration value="ActiveWithMultipleCredentials" />
          <s:enumeration value="Expired" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="IwsErrorCollection">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="errors" type="s0:ArrayOfIwsError" />
        </s:sequence>
        <s:attribute name="count" type="s:int" />
      </s:complexType>
      <s:complexType name="ArrayOfIwsError">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="error" type="s0:IwsError" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="IwsError">
        <s:attribute name="errorCode" type="s:int" />
        <s:attribute name="detail" type="s:string" />
      </s:complexType>
      <s:simpleType name="ActionEnum">
        <s:restriction base="s:string">
          <s:enumeration value="GetInfo" />
          <s:enumeration value="Start" />
          <s:enumeration value="Verify" />
          <s:enumeration value="Logout" />
        </s:restriction>
      </s:simpleType>
      <s:element name="wsConsumerCredential" type="s0:WsConsumerCredential" />
      <s:complexType name="WsConsumerCredential">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="id" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="VerifySession">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ticket" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="userIpAddr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="returnExtendedAttributes" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="VerifySessionResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="iwsResponse" nillable="true" type="s0:IwsResponse" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Logout">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ticket" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="userIpAddr" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="LogoutResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="iwsResponse" nillable="true" type="s0:IwsResponse" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetSystemInfo">
        <s:complexType />
      </s:element>
      <s:element name="GetSystemInfoResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetSystemInfoResult" type="s0:ArrayOfIwsAttribute" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfIwsAttribute">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="IwsAttribute" type="s0:IwsAttribute" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="IwsAttribute">
        <s:attribute name="name" type="s:string" />
        <s:attribute name="value" type="s:string" />
      </s:complexType>
    </s:schema>
  </types>
  <message name="StartSessionSoapIn">
    <part name="parameters" element="s0:StartSession" />
  </message>
  <message name="StartSessionSoapOut">
    <part name="parameters" element="s0:StartSessionResponse" />
  </message>
  <message name="StartSessionwsConsumerCredential">
    <part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
  </message>
  <message name="VerifySessionSoapIn">
    <part name="parameters" element="s0:VerifySession" />
  </message>
  <message name="VerifySessionSoapOut">
    <part name="parameters" element="s0:VerifySessionResponse" />
  </message>
  <message name="VerifySessionwsConsumerCredential">
    <part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
  </message>
  <message name="LogoutSoapIn">
    <part name="parameters" element="s0:Logout" />
  </message>
  <message name="LogoutSoapOut">
    <part name="parameters" element="s0:LogoutResponse" />
  </message>
  <message name="LogoutwsConsumerCredential">
    <part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
  </message>
  <message name="GetSystemInfoSoapIn">
    <part name="parameters" element="s0:GetSystemInfo" />
  </message>
  <message name="GetSystemInfoSoapOut">
    <part name="parameters" element="s0:GetSystemInfoResponse" />
  </message>
  <message name="GetSystemInfowsConsumerCredential">
    <part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
  </message>
  <portType name="IsisSoap">
    <operation name="StartSession">
      <input message="s0:StartSessionSoapIn" />
      <output message="s0:StartSessionSoapOut" />
    </operation>
    <operation name="VerifySession">
      <input message="s0:VerifySessionSoapIn" />
      <output message="s0:VerifySessionSoapOut" />
    </operation>
    <operation name="Logout">
      <input message="s0:LogoutSoapIn" />
      <output message="s0:LogoutSoapOut" />
    </operation>
    <operation name="GetSystemInfo">
      <input message="s0:GetSystemInfoSoapIn" />
      <output message="s0:GetSystemInfoSoapOut" />
    </operation>
  </portType>
  <portType name="IsisHttpGet" />
  <portType name="IsisHttpPost" />
  <binding name="IsisSoap" type="s0:IsisSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <operation name="StartSession">
      <soap:operation soapAction="http://isis.ais.ucla.edu/ws/StartSession" style="document" />
      <input>
        <soap:body use="literal" />
        <soap:header d5p1:required="true" message="s0:StartSessionwsConsumerCredential" part="wsConsumerCredential" use="literal" xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="VerifySession">
      <soap:operation soapAction="http://isis.ais.ucla.edu/ws/VerifySession" style="document" />
      <input>
        <soap:body use="literal" />
        <soap:header d5p1:required="true" message="s0:VerifySessionwsConsumerCredential" part="wsConsumerCredential" use="literal" xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="Logout">
      <soap:operation soapAction="http://isis.ais.ucla.edu/ws/Logout" style="document" />
      <input>
        <soap:body use="literal" />
        <soap:header d5p1:required="true" message="s0:LogoutwsConsumerCredential" part="wsConsumerCredential" use="literal" xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetSystemInfo">
      <soap:operation soapAction="http://isis.ais.ucla.edu/ws/GetSystemInfo" style="document" />
      <input>
        <soap:body use="literal" />
        <soap:header d5p1:required="true" message="s0:GetSystemInfowsConsumerCredential" part="wsConsumerCredential" use="literal" xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <binding name="IsisHttpGet" type="s0:IsisHttpGet">
    <http:binding verb="GET" />
  </binding>
  <binding name="IsisHttpPost" type="s0:IsisHttpPost">
    <http:binding verb="POST" />
  </binding>
  <service name="Isis">
    <port name="IsisSoap" binding="s0:IsisSoap">
      <soap:address location="http://isisdev1.tig.ucla.edu/iws/v4.asmx" />
    </port>
    <port name="IsisHttpGet" binding="s0:IsisHttpGet">
      <http:address location="http://isisdev1.tig.ucla.edu/iws/v4.asmx" />
    </port>
    <port name="IsisHttpPost" binding="s0:IsisHttpPost">
      <http:address location="http://isisdev1.tig.ucla.edu/iws/v4.asmx" />
    </port>
  </service>
</definitions>
