Bristjenester

Bris er eksport til studentsamskibnaden, for øyeblikket SiO og SiA. Disse leverer data om studenter til Studentsamskibnadens systemer. For SiO eksisterte kun SOAP-tjenester og for SiA eksisterer kun REST-tjenester. SOAP-tjenestene for SiO eksisterer nå også som REST-tjenester.

I utgangspunktet er det kun Samskibnaden som bruker disse eksportene, men dersom det finnes nyttig data her, så kan man kall disse. Merk, imidlertid, at endringer her kan da skje og det er samskibnaden som bestemmer.

Eksempler

Alle Java-eksempler benytter seg av Apache HTTP Client

Alle eksempler går mot vår kursbase så eventuelle data man ser her er fiktive.

Tilgjengelige grensesnitt

 

Hent brisdata med endringer for SiO

Overgang fra SOAP til REST for denne tjenesten:

  1.  Den eksisterende SOAP tjenesten har to operasjoner getBrisData og getBrisDataAsAttachment. Disse er i REST slått sammen til et endpoint. Det trengs altså kun å gjøre kall mot en URL. Se under for beskrivels av URL.
  2. Se Java eksempel under for klientkode og URL eksempel hvor det bes om XML Respons som et vedlegg lagret til fil.
  3. Det er autentisering på denne tjenesten. Brukernavn og passord må brukes. Se Java eksempel under på hvordan dette kan gjøres. Brukernavn og passord må være gitt og lagt inn i FS av Unit. I tillegg må brukeren ha riktig rettighet for å lese ut data. I dette tilfellet trengs rollen : "bris-roller".

 

Denne tjenesten henter brisdata for SiO. Dette er en GET-tjeneste som tar Query-parametre og returnerer XML. XML kan også returneres som en nedlastbar fil.

URL for test:  https://fs-test.uio.no/fsrest/rest//bris/samskipnad/studenter/endringer?siden=<dato>&somVedlegg=<J>
URL for prod:  https://fsws.usit.no/fsrest/rest//bris/samskipnad/studenter/endringer?siden=<dato>&somVedlegg=<J>

  • siden - Henter ut brisdata med endringer siden dato. Dato er på formatet "yyyy-MM-dd'T'HH:mm:ss". Dersom datoparameteren ikke brukes, så gjøres vanlig uttrekk.
  • somVedlegg - Settes lik "J" dersom for retur som en fil.

Java-eksempel

import java.io.File;
import java.io.FileOutputStream;

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetBrisdata {

    private static String theUrl = "https://fs-test.uio.no//fsrest/rest/bris/samskipnad/studenter/endringer?siden=2018-02-02T08:30:00&somVedlegg=J


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        FileOutputStream fos = new FileOutputStream(new File("C:/temp/tester.xml"));
        response.getEntity().writeTo(fos);
        fos.close();
    }
}

Eksempel på svar

<?xml version="1.0" encoding="UTF-8"?>
<studentdata
  xsi:noNamespaceSchemaLocation="http://fsws.usit.no/schemas/bris/bris-1.0.xsd"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<beskrivelse>
		<kilde>185</kilde>
		<dato>2010-09-28</dato>
		<studiear>2010-2011</studiear>
	</beskrivelse>
	<studenter>
		<student>
			<fnr>13059212345</fnr>
			<navn>
				<etternavn>Ola</etternavn>
				<fornavn>Hansen</fornavn>
			</navn>
			<semesterregistrering>
				<sist_bet_semavgift>2010-08-23</sist_bet_semavgift>
				<fritak_semavgift>J</fritak_semavgift>
				<kortid>String</kortid>
			</semesterregistrering>
		</student>
		<student>
      ...
		</student>
      ...
	</studenter>
</studentdata>

Hent alle brisdata for SiA

Denne tjenesten henter alle brisdata for SiA. Dette er en GET-tjeneste som ikke tar noen parametre og returnerer XML.

URL for test: https://fs-test.uio.no/fsrest/rest/bris/sia/alle
URL for prod: https://fsws.usit.no/fsrest/rest/bris/sia/alle

Java-eksempel

import java.io.File;
import java.io.FileOutputStream;

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetBrisdata {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/bris/sia/alle";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        FileOutputStream fos = new FileOutputStream(new File("C:/temp/tester.xml"));
        response.getEntity().writeTo(fos);
        fos.close();
    }
}

Eksempel på svar

<?xml version='1.0' encoding='utf-8'?>
<bris_studenter>
	<student>
		<studentnr>20</studentnr>
		<navn>
			<fornavn>Test</fornavn>
			<etternavn>Testesen</etternavn>
		</navn>
		<adresse>
			<co/>
			<gate>Oslogata 1</gate>
			<postnr>0123</postnr>
			<sted>OSLO</sted>
			<land>OSLO</land>
		</adresse>
		<telefon/>
		<epost>tester@usit.uio.no</epost>
		<fodselsdato>07-61-68</fodselsdato>
		<semesterregistrering>
			<sist_bet_semavgift>2010V</sist_bet_semavgift>
			<fritak_semavgift>N</fritak_semavgift>
		</semesterregistrering>
	</student>
	<student>
		<studentnr>21</studentnr>
		<navn>
			<fornavn>Peder</fornavn>
			<etternavn>Aas</etternavn>
		</navn>
		<adresse>
			<co/>
			<gate>Trondheimsveien 1</gate>
			<postnr>7000</postnr>
			<sted>TRONDHEIM</sted>
			<land/>
		</adresse>
		<telefon>
			<mobil>47358689</mobil>
		</telefon>
		<epost/>
		<fodselsdato>06-53-73</fodselsdato>
		<semesterregistrering>
			<sist_bet_semavgift>2001V</sist_bet_semavgift>
			<fritak_semavgift>N</fritak_semavgift>
		</semesterregistrering>
	</student>
</bris_studenter>

Hent brisdata med endringer siden for SiA

Denne tjenesten henter alle brisdata for SiA som er endret etter en gitt dato. Denne datoen angis som en UNIX-timestamp. Tjenesten er en GET-tjeneste som returnerer XML og tar timestamp som en del av sin URL.

URL for test: https://fs-test.uio.no/fsrest/rest/bris/sia/alle/endringer/<timestamp>
URL for prod: https://fsws.usit.no/fsrest/rest/bris/sia/alle/endringer/<timestamp>

Java-eksempel

import java.io.File;
import java.io.FileOutputStream;

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetBrisdataEndr {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/bris/sia/alle/endringer/1388534400";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        FileOutputStream fos = new FileOutputStream(new File("C:/temp/tester.xml"));
        response.getEntity().writeTo(fos);
        fos.close();
    }
}

Eksempel på svar

<?xml version='1.0' encoding='utf-8'?>
<bris_studenter>
	<student>
		<studentnr>20</studentnr>
		<navn>
			<fornavn>Test</fornavn>
			<etternavn>Testesen</etternavn>
		</navn>
		<adresse>
			<co/>
			<gate>Oslogata 1</gate>
			<postnr>0123</postnr>
			<sted>OSLO</sted>
			<land>OSLO</land>
		</adresse>
		<telefon/>
		<epost>tester@usit.uio.no</epost>
		<fodselsdato>07-61-68</fodselsdato>
		<semesterregistrering>
			<sist_bet_semavgift>2010V</sist_bet_semavgift>
			<fritak_semavgift>N</fritak_semavgift>
		</semesterregistrering>
	</student>
	<student>
		<studentnr>21</studentnr>
		<navn>
			<fornavn>Peder</fornavn>
			<etternavn>Aas</etternavn>
		</navn>
		<adresse>
			<co/>
			<gate>Trondheimsveien 1</gate>
			<postnr>7000</postnr>
			<sted>TRONDHEIM</sted>
			<land/>
		</adresse>
		<telefon>
			<mobil>47358689</mobil>
		</telefon>
		<epost/>
		<fodselsdato>06-53-73</fodselsdato>
		<semesterregistrering>
			<sist_bet_semavgift>2001V</sist_bet_semavgift>
			<fritak_semavgift>N</fritak_semavgift>
		</semesterregistrering>
	</student>
</bris_studenter>

Hent brisdata opprettet etter for SiA

Denne tjenesten henter alle brisdata for SiA som er opprettet etter en gitt dato. Denne datoen angis som en UNIX-timestamp. Tjenesten er en GET-tjeneste som returnerer XML og tar timestamp som en del av sin URL.

URL for test: https://fs-test.uio.no/fsrest/rest/bris/sia/alle/opprettet/<timestamp>
URL for prod: https://fsws.usit.no/fsrest/rest/bris/sia/alle/opprettet/<timestamp>

Java-eksempel

import java.io.File;
import java.io.FileOutputStream;

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetBrisdataEndr {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/bris/sia/alle/opprettet/1388534400";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        FileOutputStream fos = new FileOutputStream(new File("C:/temp/tester.xml"));
        response.getEntity().writeTo(fos);
        fos.close();
    }
}

Eksempel på svar

<?xml version='1.0' encoding='utf-8'?>
<bris_studenter>
	<student>
		<studentnr>20</studentnr>
		<navn>
			<fornavn>Test</fornavn>
			<etternavn>Testesen</etternavn>
		</navn>
		<adresse>
			<co/>
			<gate>Oslogata 1</gate>
			<postnr>0123</postnr>
			<sted>OSLO</sted>
			<land>OSLO</land>
		</adresse>
		<telefon/>
		<epost>tester@usit.uio.no</epost>
		<fodselsdato>07-61-68</fodselsdato>
		<semesterregistrering>
			<sist_bet_semavgift>2010V</sist_bet_semavgift>
			<fritak_semavgift>N</fritak_semavgift>
		</semesterregistrering>
	</student>
	<student>
		<studentnr>21</studentnr>
		<navn>
			<fornavn>Peder</fornavn>
			<etternavn>Aas</etternavn>
		</navn>
		<adresse>
			<co/>
			<gate>Trondheimsveien 1</gate>
			<postnr>7000</postnr>
			<sted>TRONDHEIM</sted>
			<land/>
		</adresse>
		<telefon>
			<mobil>47358689</mobil>
		</telefon>
		<epost/>
		<fodselsdato>06-53-73</fodselsdato>
		<semesterregistrering>
			<sist_bet_semavgift>2001V</sist_bet_semavgift>
			<fritak_semavgift>N</fritak_semavgift>
		</semesterregistrering>
	</student>
</bris_studenter>

 

Hent brisdata for en student for SiA

Denne tjenesten henter alle brisdata for en student for SiA. Dette er en GET-tjeneste som tar studentnummer som del av URL og returnerer XML.

URL for test: https://fs-test.uio.no/fsrest/rest/bris/sia/student/<studentnummer>
URL for prod: https://fsws.usit.no/fsrest/rest/bris/sia/student/<studentnummer>

Java-eksempel

import java.io.File;
import java.io.FileOutputStream;

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetBrisdataStudent {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/bris/sia/student/134";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        FileOutputStream fos = new FileOutputStream(new File("C:/temp/tester.xml"));
        response.getEntity().writeTo(fos);
        fos.close();
    }
}

Eksempel på svar

<bris>
	<student>
		<studentnr>134</studentnr>
		<navn>
			<fornavn>Test</fornavn>
			<etternavn>Testesen</etternavn>
		</navn>
		<adresse>
			<co/>
			<gate>Osloveien 1</gate>
			<postnr>0123</postnr>
			<sted>OSLO</sted>
			<land/>
		</adresse>
		<telefon/>
		<epost/>
		<fodselsdato>23-56-85</fodselsdato>
		<semesterregistrering>
			<sist_bet_semavgift>2001H</sist_bet_semavgift>
			<fritak_semavgift>N</fritak_semavgift>
		</semesterregistrering>
	</student>
</bris>
Publisert 25. juni 2015 10:50 - Sist endret 18. feb. 2021 12:41