UMS Webservice

From UmsWiki
Revision as of 09:33, 10 August 2021 by Khm (talk | contribs) (→‎Setup)
Jump to navigation Jump to search

The module UMS Webservice allows other providers to access the UMS database as a web service. Selected data can be retrieved securely through UMS Webservice.

This is a soap service for more about soap

For the wsdl go to https://your-ums-server.com/Webservices/DataExport.asmx?wsdl

Setup

UMS has web services. These can be found under this path on the webserver c:\inetpub\wwwroot\Webservices or where the UMS Frontend is installed.

The web services need two kinds of authentication.

  1. To access the ASMX file use windows authentication. This is a user that the webserver can find either local or domain.
  2. To call any of the web services you need a username and password that can be set in UMS configurator
    1. You can find it here Configurator -> Settings -> Web services
    2. The username must be between 8 - 100 characters
    3. The password must be between 16 - 100 characters
    4. Changing this requires a restart of the website.

Data export

(Requires a license)

These are used to extract data from the UMS database.

They are found here http://<DNS>/WebServices/DataExport.asmx. Just remember to replace <DNS> with the URL with the UMS webserver address.

Test web services

This an example of the data export web service. Change the ASMX name to test other services.

To test the web services you can use SOAP UI http://www.soapui.org/. Download the free version.

Connect to the web services URL http://<DNS>/WebServices/DataExport.asmx?wsdl

Accessing this http://<DNS>/WebServices/DataExport.asmx?wsdl with a browser will show the WSDL as readable XML.

ActivitiesInfo

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /Webservices/DataExport.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:Body>
    <ActivitiesInfo xmlns="http://DataExport.inlogic.dk/">
      <UserName>string</UserName>
      <Password>string</Password>
      <Activities>
        <AllActivities>boolean</AllActivities>
        <AllDepartments>boolean</AllDepartments>
        <OnlyActiveActivities>boolean</OnlyActiveActivities>
        <OnlyActiveUsers>boolean</OnlyActiveUsers>
        <DepartmentNames>
          <string>string</string>
          <string>string</string>
        </DepartmentNames>
        <Activities>
          <string>string</string>
          <string>string</string>
        </Activities>
      </Activities>
    </ActivitiesInfo>
  </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:Body>
    <ActivitiesInfoResponse xmlns="http://DataExport.inlogic.dk/">
      <ActivitiesInfoResult>
        <ErrorMessage>string</ErrorMessage>
        <ErrCode>int</ErrCode>
        <Activities>
          <Activity>
            <RowType>string</RowType>
            <Activity>string</Activity>
            <ActivityDisplayName>string</ActivityDisplayName>
            <Activity_ShortDescription>string</Activity_ShortDescription>
            <ActivityDescription>string</ActivityDescription>
            <ActivityDepartmentNumber>string</ActivityDepartmentNumber>
            <Activity_StartDate>dateTime</Activity_StartDate>
            <Activity_EndDate>dateTime</Activity_EndDate>
            <Participants xsi:nil="true" />
            <Teachers xsi:nil="true" />
            <Courses xsi:nil="true" />
          </Activity>
          <Activity>
            <RowType>string</RowType>
            <Activity>string</Activity>
            <ActivityDisplayName>string</ActivityDisplayName>
            <Activity_ShortDescription>string</Activity_ShortDescription>
            <ActivityDescription>string</ActivityDescription>
            <ActivityDepartmentNumber>string</ActivityDepartmentNumber>
            <Activity_StartDate>dateTime</Activity_StartDate>
            <Activity_EndDate>dateTime</Activity_EndDate>
            <Participants xsi:nil="true" />
            <Teachers xsi:nil="true" />
            <Courses xsi:nil="true" />
          </Activity>
        </Activities>
      </ActivitiesInfoResult>
    </ActivitiesInfoResponse>
  </soap12:Body>
</soap12:Envelope>

CheckLogin

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /Webservices/DataExport.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:Body>
    <CheckLogin xmlns="http://DataExport.inlogic.dk/">
      <WebserviceUserName>string</WebserviceUserName>
      <WebservicePassword>string</WebservicePassword>
      <UserName>string</UserName>
      <Password>string</Password>
      <Domain>string</Domain>
    </CheckLogin>
  </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:Body>
    <CheckLoginResponse xmlns="http://DataExport.inlogic.dk/">
      <CheckLoginResult>
        <ErrorMessage>string</ErrorMessage>
        <ErrCode>int</ErrCode>
      </CheckLoginResult>
    </CheckLoginResponse>
  </soap12:Body>
</soap12:Envelope>

HTTP GET

The following is a sample HTTP GET request and response. The placeholders shown need to be replaced with actual values.

GET /Webservices/DataExport.asmx/CheckLogin?WebserviceUserName=string&WebservicePassword=string&UserName=string&Password=string&Domain=string HTTP/1.1
Host: localhost
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<RequestResult xmlns="http://DataExport.inlogic.dk/">
  <ErrorMessage>string</ErrorMessage>
  <ErrCode>int</ErrCode>
</RequestResult>

HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

POST /Webservices/DataExport.asmx/CheckLogin HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
Content-Length: length

WebserviceUserName=string&WebservicePassword=string&UserName=string&Password=string&Domain=string
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<RequestResult xmlns="http://DataExport.inlogic.dk/">
  <ErrorMessage>string</ErrorMessage>
  <ErrCode>int</ErrCode>
</RequestResult>

EmployeeEmploymentInfo

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /Webservices/DataExport.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:Body>
    <EmployeeEmploymentInfo xmlns="http://DataExport.inlogic.dk/">
      <UserName>string</UserName>
      <Password>string</Password>
      <Employees>
        <AllUsers>boolean</AllUsers>
        <OnlyActiveUsers>boolean</OnlyActiveUsers>
        <ShowInitialPassword>boolean</ShowInitialPassword>
        <ShowCurrentPassword>boolean</ShowCurrentPassword>
        <Usernames>
          <string>string</string>
          <string>string</string>
        </Usernames>
      </Employees>
    </EmployeeEmploymentInfo>
  </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:Body>
    <EmployeeEmploymentInfoResponse xmlns="http://DataExport.inlogic.dk/">
      <EmployeeEmploymentInfoResult>
        <ErrorMessage>string</ErrorMessage>
        <ErrCode>int</ErrCode>
        <EmployeesEmployment>
          <EmployeeEmployment>
            <UserName>string</UserName>
            <Employments xsi:nil="true" />
            <Departments xsi:nil="true" />
            <Salaries xsi:nil="true" />
          </EmployeeEmployment>
          <EmployeeEmployment>
            <UserName>string</UserName>
            <Employments xsi:nil="true" />
            <Departments xsi:nil="true" />
            <Salaries xsi:nil="true" />
          </EmployeeEmployment>
        </EmployeesEmployment>
      </EmployeeEmploymentInfoResult>
    </EmployeeEmploymentInfoResponse>
  </soap12:Body>
</soap12:Envelope>

EmployeePersonalInfo

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /Webservices/DataExport.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:Body>
    <EmployeePersonalInfo xmlns="http://DataExport.inlogic.dk/">
      <UserName>string</UserName>
      <Password>string</Password>
      <Employees>
        <AllUsers>boolean</AllUsers>
        <OnlyActiveUsers>boolean</OnlyActiveUsers>
        <ShowInitialPassword>boolean</ShowInitialPassword>
        <ShowCurrentPassword>boolean</ShowCurrentPassword>
        <Usernames>
          <string>string</string>
          <string>string</string>
        </Usernames>
      </Employees>
    </EmployeePersonalInfo>
  </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:Body>
    <EmployeePersonalInfoResponse xmlns="http://DataExport.inlogic.dk/">
      <EmployeePersonalInfoResult>
        <ErrorMessage>string</ErrorMessage>
        <ErrCode>int</ErrCode>
        <Employees>
          <Employee>
            <AdministrativeSystem xsi:nil="true" />
            <UserName>string</UserName>
            <SSN>string</SSN>
            <GivenName>string</GivenName>
            <SurName>string</SurName>
            <Employee_Type>string</Employee_Type>
            <CurrentPassword>string</CurrentPassword>
            <InitialPassword>string</InitialPassword>
            <Addresses xsi:nil="true" />
            <PhoneNumbers xsi:nil="true" />
            <MobilePhones xsi:nil="true" />
            <WorkMailAddresses xsi:nil="true" />
          </Employee>
          <Employee>
            <AdministrativeSystem xsi:nil="true" />
            <UserName>string</UserName>
            <SSN>string</SSN>
            <GivenName>string</GivenName>
            <SurName>string</SurName>
            <Employee_Type>string</Employee_Type>
            <CurrentPassword>string</CurrentPassword>
            <InitialPassword>string</InitialPassword>
            <Addresses xsi:nil="true" />
            <PhoneNumbers xsi:nil="true" />
            <MobilePhones xsi:nil="true" />
            <WorkMailAddresses xsi:nil="true" />
          </Employee>
        </Employees>
      </EmployeePersonalInfoResult>
    </EmployeePersonalInfoResponse>
  </soap12:Body>
</soap12:Envelope>

StudentPersonalInfo

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /Webservices/DataExport.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:Body>
    <StudentPersonalInfo xmlns="http://DataExport.inlogic.dk/">
      <UserName>string</UserName>
      <Password>string</Password>
      <Students>
        <AllUsers>boolean</AllUsers>
        <OnlyActiveUsers>boolean</OnlyActiveUsers>
        <ShowInitialPassword>boolean</ShowInitialPassword>
        <ShowCurrentPassword>boolean</ShowCurrentPassword>
        <Usernames>
          <string>string</string>
          <string>string</string>
        </Usernames>
      </Students>
    </StudentPersonalInfo>
  </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:Body>
    <StudentPersonalInfoResponse xmlns="http://DataExport.inlogic.dk/">
      <StudentPersonalInfoResult>
        <ErrorMessage>string</ErrorMessage>
        <ErrCode>int</ErrCode>
        <Students>
          <Student>
            <AdministrativeSystem xsi:nil="true" />
            <UserName>string</UserName>
            <SSN>string</SSN>
            <GivenName>string</GivenName>
            <SurName>string</SurName>
            <CurrentPassword>string</CurrentPassword>
            <InitialPassword>string</InitialPassword>
            <Addresses xsi:nil="true" />
            <PhoneNumbers xsi:nil="true" />
            <MobilePhones xsi:nil="true" />
            <PrivateMailAddresses xsi:nil="true" />
            <Educations xsi:nil="true" />
          </Student>
          <Student>
            <AdministrativeSystem xsi:nil="true" />
            <UserName>string</UserName>
            <SSN>string</SSN>
            <GivenName>string</GivenName>
            <SurName>string</SurName>
            <CurrentPassword>string</CurrentPassword>
            <InitialPassword>string</InitialPassword>
            <Addresses xsi:nil="true" />
            <PhoneNumbers xsi:nil="true" />
            <MobilePhones xsi:nil="true" />
            <PrivateMailAddresses xsi:nil="true" />
            <Educations xsi:nil="true" />
          </Student>
        </Students>
      </StudentPersonalInfoResult>
    </StudentPersonalInfoResponse>
  </soap12:Body>
</soap12:Envelope>

UsersOnActivities

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /Webservices/DataExport.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:Body>
    <UsersOnActivities xmlns="http://DataExport.inlogic.dk/">
      <UserName>string</UserName>
      <Password>string</Password>
      <Activities>
        <AllActivities>boolean</AllActivities>
        <AllDepartments>boolean</AllDepartments>
        <OnlyActiveActivities>boolean</OnlyActiveActivities>
        <OnlyActiveUsers>boolean</OnlyActiveUsers>
        <DepartmentNames>
          <string>string</string>
          <string>string</string>
        </DepartmentNames>
        <Activities>
          <string>string</string>
          <string>string</string>
        </Activities>
      </Activities>
      <RecordType>Students or Employees or All</RecordType>
    </UsersOnActivities>
  </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:Body>
    <UsersOnActivitiesResponse xmlns="http://DataExport.inlogic.dk/">
      <UsersOnActivitiesResult>
        <ErrorMessage>string</ErrorMessage>
        <ErrCode>int</ErrCode>
        <Activities>
          <Activity>
            <RowType>string</RowType>
            <Activity>string</Activity>
            <ActivityDisplayName>string</ActivityDisplayName>
            <Activity_ShortDescription>string</Activity_ShortDescription>
            <ActivityDescription>string</ActivityDescription>
            <ActivityDepartmentNumber>string</ActivityDepartmentNumber>
            <Activity_StartDate>dateTime</Activity_StartDate>
            <Activity_EndDate>dateTime</Activity_EndDate>
            <Participants xsi:nil="true" />
            <Teachers xsi:nil="true" />
            <Courses xsi:nil="true" />
          </Activity>
          <Activity>
            <RowType>string</RowType>
            <Activity>string</Activity>
            <ActivityDisplayName>string</ActivityDisplayName>
            <Activity_ShortDescription>string</Activity_ShortDescription>
            <ActivityDescription>string</ActivityDescription>
            <ActivityDepartmentNumber>string</ActivityDepartmentNumber>
            <Activity_StartDate>dateTime</Activity_StartDate>
            <Activity_EndDate>dateTime</Activity_EndDate>
            <Participants xsi:nil="true" />
            <Teachers xsi:nil="true" />
            <Courses xsi:nil="true" />
          </Activity>
        </Activities>
      </UsersOnActivitiesResult>
    </UsersOnActivitiesResponse>
  </soap12:Body>
</soap12:Envelope>