Instructions
Individual Faculty Data by uNID
https://faculty.utah.edu/{unid}/ws.hml.
Faculty Directory List by Department
faculty.utah.edu/facultylist/ws_list.hml
We use Basic HTTP Authentication (http://en.wikipedia.org/wiki/Basic_access_authentication) to determine your level of access, i.e. a user authorized for the College of Engineering can only retrieve data through this web service for faculty who have an appointment in the College of Engineering and sub-departments. Please see the Code Samples section below the Data Dictionary for implementations in various languages to show how to access this web service.
Formatting Note: Many data elements follow the “<items><item></item></items>” pattern (e.g. “<patents><patent></patent></patents>”.
Date Note: Dates may be approximations and are printed with as much precision as we know. Because of this, one “date” type field may have “03/21/2009”, when another may just have “2008”. The date formats to expect are “MM/dd/yyyy”, “MM/yyyy”, and “yyyy”.
Rich Text Note: Fields with the “Rich Text” type may contain markup (notably markup from MS word) caused by copy/pasting into a rich text editor, and are typically BLOBs or CLOBs in the database with no maximum length. The data will be contained in one (or more than one, depending on size) CDATA tags.
Code Samples
Java
String auth = “myuser:mytoken”;
String authToken = new sun.misc.BASE64Encoder().encode(auth.getBytes());
String unid = “u0123456”;
java.net.URL url = new java.net.URL(“https://faculty.utah.edu/” + unid + “/ws.hml”);
java.net.HttpURLConnection conn = (java.net.HttpURLConnection)url.openConnection();
conn.setRequestProperty(“Authorization”, “Basic ” + authToken); //Don’t forget the space after Basic
if(java.net.HttpURLConnection.HTTP_UNAUTHORIZED == conn.getResponseCode()) {
//Error, check conn.getResponseMessage()
} else {
//Success, can read from connection via conn.getInputStream()
}
PHP
<?php
$unid = ‘u0123456’;
$username = ‘myuser’;
$password = ‘mypassword’;
$url = ‘https://faculty.utah.edu/’ . $unid . ‘/ws.hml’;
$options = array(
‘http’ => array(
‘method’ => “GET”,
‘header’ => “Authorization: Basic ” . base64_encode( $username . ‘:’ . $password ) . “\r\n”
)
);
$context = stream_context_create($options);
$file = file_get_contents($url, false, $context);
?>