1.1 Formål Webservicen gør det muligt for eksterne parter, at fremsøge informationer om elevers fravær.



Relaterede dokumenter
Kompetencefonde webservice API beskrivelse

VEU Ansøgning Service beskrivelse

VEU Ansøgning Service beskrivelse

Kald af PingService via SOAPUI

ELEKTRONISK INDBERETNING BØRNEDATABASEN VIA DGWS 13/ VERSION 1.02

Webservice til upload af produktionstilladelser

Grænseflade til afhentning og indberetning af prøvekarakterer i dansk og matematik på Optagelse.dk

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere

Tredjepart webservices

Notat. Introdansk beskrivelse af fastlagte krav til indberetning af statistikoplysninger fra udbydere JL

Digitaliseringsstyrelsen

Fejlkoder oversigt v1.0

Webservice kald. System-til-system integration. Ny Easy. ATP 1. februar 2017

Indholdsfortegnelse. Version Serviceplatformen - opsætningsguide (Eksterne testmiljø) Indledning... 2

VEJLEDNING TIL CERTIFIKATBRUG FOR A- KASSERNES WEBSERVICEINTEGRATION MOD ARBEJDSMARKEDSSTYRELSENS DFDG.

STS Driftsvejledning. STS Driftsvejledning

AuthorizationCodeService

1 Brug af snitfladebeskrivelsen Formål og beskrivelse Hvad er formålet med snitfladen? Beskrivelse af snitfladen...

Grænseflade til indberetning af institutionsmæssige stamoplysninger til EfterUddannelse.dk

Specifikationsdokument for servicen PID-CPR

ecpr erstatnings CPR Design og arkitektur

Ungebasen. Dokumentation af webservices til udveksling af data mellem Ungebasen og et kommunalt vejledningssystem PUBLICPUBLIC PUBLICPUBLICX

Nemhandel infrastruktur. Morten Hougesen Christian Uldall Pedersen 8. April 2010

E-BUSINESS SOLUTIONS FROM CSC! "

SOSI STS Testscenarier

Den Gode Webservice 1.1

Termer og begreber i NemID

ATP WS Provider Profile

Den Gode LÆ-blanket Webservice (DGLÆ:WS)

DIADEM KOM GODT I GANG INTEGRATIONSVEJLEDNING IFT. SIKKERHED OG VERSIONERING AF WEBSERVICES VERSION: STATUS: FRIGIVET DATO: 22.

Den Gode PatoBank Webservice MedCom, version 1.0

XML webservice for deklarationsgebyrer. Version 1.0 Final

/05/2013 Tilføjet dokumentation af bvn input for GetEngagementDetailed

Bilag WebService LoginModule (BSKAuth)

Finanstilsynets indberetningssystem. Vejledning til indsendelse af xml-filer via sikker e- mail (signeret og krypteret )

Snitfladebeskrivelse for WEBService IndkomstEnkeltForespoergsel. KMD Indkomst, P13-5. Version 13.0,

Webservice til FGU-indberetning til Datavarehuset

Gennemgang af medietyper

Grænseflade til afhentning af oplysninger om

18/ VERSION 1.1

Webservice til GYM-indberetning

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere

Præsentation af BSK regionens identity and access management platform

Webservice til GYM-indberetning til DVH

Webservice til EUD-indberetning til DVH

DESIGNDOKUMENT (Teknisk dokumentation)

Ivan Overgaard 11/29/2012

System til System grænseflader

Webservice til indberetning af kompetencedækning i folkeskolen Skoleåret

D INTEGRATIONSDESIGN FOR DATAAFTAGERE

Kontekst. Virk BRS DKAL. DanID. NemRefusion.dk (CMS) Virksomheds dialog. Kommune service. Virksomheds service. Virk BRS. NemRefusion kernen

Den Gode NationalePrøveNummer Service MedCom, version 1.0 W 1

Indberetning af afregninger teknik

Integration SF0770_A - SKAT Indkomst - Opslag personoplysninger Integrationsbeskrivelse - version 2.0.0

Digitaliseringsstyrelsen

Affaldsdatasystem Vejledning i system-til-system integration

Specifikationsdokument for OCSP

Dokumentation af optagelse.dk

Præcisering af transportbaseret sikkerhed i Den Gode Webservice

XML webservice for pensionsordninger. Version 1.0 Draft A

Indberetningsstruktur for kursistindberetning

Den gode webservice i LÆ projektet. Martin Holmgaard Rasmussen 23. oktober 2006

ELEKTRONISK INDBERETNING POST 23/ VERSION 1.13

Specifikationsdokument for OCSP

Underbilag 2O Beskedkuvert Version 2.0

Version Dato Beskrivelse /11/2012 Initial version /03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.

STS Fejlsituationer. STS Fejlsituationer

LESSOR-5. Inquiry (teknisk beskrivelse) Tilgængelighed for andre systemer

DIGITAL SIGNATUR l OUTLOOK 2010

Vejledning til SLS webservice Statistik

Vejledning til SLS webservice Ferie Korriger

Layout af afstemningsfil til grænsefladekontrol af webservicen SkoleopholdIndberetninger. Beskrivelse af de enkelte felter

Efteruddannelse.dk. Marianne Guerry Larsen

Kravspecifikation for SOSI-GW komponenten

STS Designdokument. STS Designdokument

Modul Rutine og serviceeftersyn Rapportnavn: CRF-18 Dato: Revision: C Side: 1 af 6

Den Gode LÆ Service MedCom, version 1.0 W 1

ArbejdsskadeStruktur og Ny EASY Services. System-til-system integration. Tilrettelser pr. 8. februar Ny EASY. Susan Krarup, ATP 8.

DataHub Forbrugeradgangsløsning Spørgsmål og svar

Indberetning af elev-trivselsdata på erhvervsuddannelserne 2016: Webservice.

02 Kursistens SIDER/ EfterUddannelse.dk 2 Kursistens sider beskrivelse af Aflevering

Leverandør informationsmøde 25. marts 2014

Certifikatpolitik for NemLog-in

Den Gode Sårjournal Service MedCom, version W 1

Vejledning til Retsinformation web services test stubs

Dokumentation af optagelse.dk

Indberetningsstruktur for elevoplysninger og svendeprøveoplysninger til EASY-P

Webservice til EUD-indberetning til Datavarehuset

NemID DataHub adgang. & Doc , sag 10/3365

Digital post Snitflader Bilag A5 - REST HTTP returkoder Version 6.3

Foodsam pris-xml. En standard til udveksling af priser mellem leverandør og grossister

Grænseflade til afhentning af oplysninger om

BBR OIOXML. Vejledning til OIOXML-snitflade. InputBox.wsdl

e-tinglysning Digital signering

Snitfladedokumentation til fagsystemer v 1.1

Den gode Børnedatabaseindberetning fra almen praksis

DKAL Snitflader REST HTTP returkoder

EDI-guide Skadehistorik for erhverv og landbrug Bilag 1 XML webservice

Teknisk Dokumentation

Transkript:

EfterUddannelse.dk FraværService - systemdokumentation BRUGERDOKUMENTATION: WEB-SERVICE Af: Logica Indhold 1. Indledning... 1 1.1 Formål... 1 1.2 Webservice version... 1 1.3 Historik... 1 2. Absence Webservice... 2 2.1 getabsence... 2 2.2 getupdatedabsence... 3 2.3 Response... 4 2.4 WSDL... 6 2.5 Skema for XML-input og XML-output... 8 3. Sikkerhed... 11 3.1 Timestamp... 11 3.2 Signering... 11 3.3 Kryptering... 12 3.4 Absence service konkret... 12 1. Indledning 1.1 Formål Webservicen gør det muligt for eksterne parter, at fremsøge informationer om elevers fravær. 1.2 Webservice version Dette dokument beskriver version 2.0 af webservicen. 1.3 Historik Dato Hvem Hvad 22.10.2009 HANSENP Oprettet. A114.8484 12.04.2010 MOLLERPJ Added info about osb setup 23.04.2010 MOLLERPJ Changed certificate information 19.05.2010 SINGHME Indsat drifts-url er 12.08.2010 MOLLERPJ Udvidelse af interface i forbindelse med version 2.0 18.08.2010 MOLLERPJ Indsættelse af WSDL og XSD er 06.10.2010 MOLLERPJ Tilføjet Undervisningssted til XSD 08.11.2010 MOLLERPJ Tilføjet feltlængder 15.12.2010 HANSENSK Tilføjet beskrivelse og feltlængder af fagnummer, beskrivelse og kort beskrivelse. 24.01.2011 A114.8484.11 Side 1 af 12

2. Absence Webservice WSDL og XSD er der er angivet i dokumentet er tilhørende version 2.0 og altså ikke tilrådighed før end version 2.0 frigives ultimo 2010. 2.1 getabsence input: CPR nummer (string), startdato (date), abonnement id (string) Webservicen løber igennem de hold i VEU, en given elev er tilmeldt og fremsøger herefter fraværsinformation, for hver af de skoler, hvor eleven er tilmeldt kurser. Fraværsinformationer fremsøges ud fra et CPR nummer og en startdato for søgningen. Yderligerer er det muligt at angive et abonnement id. Angives der et abonnement id, vil information omkring fravær for det givne CPR nummer sættes i abonnement. Informationer om, hvornår der sidst er hentet fraværsinformation for det givne CPR nummer med det givne abonnement id, vil der efter blive gemt. Denne information benyttes ved kald af getupdatedabsence. Figure 1 Service til hentning af fravær, udvidet med abonnements id Så fremt der er fundet data for forespørgslen returneres et sæt fraværs data, i strukturen Fraver, og evt. information omkring fejl i wsinfo. 24.01.2011 A114.8484.11 Side 2 af 12

Figure 2 Response fra fraværsservices 2.2 getupdatedabsence input: abonnements id (string) Webservicen henter informationer om ændret fravær, for de CPR numre, der er tilknyttet et givet abonnement id. Et abonnement id skal tidligere have været benyttet til afhentning af fravær via getabsence. Efter afhentning af fraværsinformation, vil abonnementet være opdateret som værende hentet, og et kald umiddelbart efter vil altså resultere i et tomt datasæt 1. Sker der efterfølgende ændringer i fraværet for et af de CPR numre, der er sat i abonnement, vil der igen være ændret fravær at hente, for det specifikke abonnement id. Et abonnement id er en nøgle kalderen selv vælger. Figure 3 Service til hentning af ændret fravær 1 Forudsat at der ikke er indberettet ændringer af fravær i mellem tiden 24.01.2011 A114.8484.11 Side 3 af 12

Responset fra getupdatedabsence indeholder en liste over ændret fravær for de CPR numre der er tilknyttet det anvendte Abonnement id. Figure 4 Response fra opdateret fraværsservice 2.3 Response Både getabsence og getupdatedabsence, returnerer fraværsinformation, for et givet CPR nummer i absencedto. Datastrukturen absencedto indeholder CPR nummer og Navn, samt en liste over fag (inklusiv hold navn), hvor der er registreret fravær. Faginformationen (absenceskolefagpaaholddto) indeholder: Holdets navn, Kviknummer, Fagets navn, Fag niveau, Start- og Slut- dato for faget, samt hvilken skole undervisningen er foregået på. Endelig indeholder faginformationen et sæt fraværsinformations data (absencedatedto). absencedatedto strukturen indeholder information omkring: ændret fravær siden sidste afhentning (i forhold til abonnement id), fraværskode, antal fraværstimer, om der er registreret fravær, Datoen for registreringen, antallet af timer og en fraværsårsag (FriTekst). 24.01.2011 A114.8484.11 Side 4 af 12

Figure 5 Fraværs response indhold Kort attribut beskrivelse: AbonnementId Bruger defineret id String (50) CPR CPR nummer String (11) Navn Navnet på kursisten String (101) HoldBetegnelse Navnet på det pågældende hold String (50) Kviknr kvik nummer String (20) FagBetegnelse Navnet på faget String (15) FagNiveau Skole fagets niveau A, B eller C String (1) FagNummer 5 cifret fagnummer kode fra Uvmfag String(5) SlutDato Slut datoen for holdet DateTime SkoleNavn Skolens navn String (50) SkoleNummer (DS) Skolens DS nummer String (6) StartDato Start datoen for holdet DateTime UndervisningsSted Angiver afholdelsessted. Kan antage værdierne: Al undervisning finder sted på kursusstedet ; Al undervisning finder sted på konferencestedet ; Al undervisning finder sted hos Enumeration (200) arbejdsgiver ; Kombination af undervisningssteder. Fordelt på kursussted/konferencested/hos arbejdsgiver FraverAendret Om der er ændret i fraværet siden sidste Boolean gang dette abonnement id har været benyttet FraversKode Fraværs koden Easy Tabel værdi String (50) FravaerTimer Antal fraværs timer Decimal (6,2) FraverRegistreret Om der er registretet noget fravær Boolean 24.01.2011 A114.8484.11 Side 5 af 12

Beskrivelse Beskrivelse fra Fraværskoden String(200) Dato Dato for registreringen DateTime TilstedeverelseTimer Antal tilstedeværelses timer (Normtid) Decimal (6,2) KortBeskrivelse Kort beskrivelse fra Fraværskoden String(10) FriTekst Fraværs begrundelse String (50) 2.4 WSDL Servicen er til rådighed her: http://www.efteruddannelse.dk/absence/absenceservice?wsdl test: http://test.efteruddannelse.dk:7779/absence/absenceservice?wsdl <?xml version="1.0" encoding="utf-8"?> <s2:definitions name="absencewebservice_v100" target- Namespace="http://www.logica.com/veupublic/v100" xmlns:s0="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:s1="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:s2="http://schemas.xmlsoap.org/wsdl/" xmlns:s3="http://www.logica.com/veupublic/v100" xmlns:s4="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <s0:policy s1:id="sign.xml"> <wssp:integrity xmlns:wls="http://www.bea.com/wls90/security/policy/wsee#part" xmlns:wssp="http://www.bea.com/wls90/security/policy" xmlns:wsu="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wssp:signaturealgorithm URI="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <wssp:canonicalizationalgorithm URI="http://www.w3.org/2001/10/xml-exc-c14n#"/> <wssp:target> <wssp:digestalgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1"/> <wssp:messageparts Dialect="http://www.bea.com/wls90/security/policy/wsee#part"> wls:systemheaders() </wssp:messageparts> </wssp:target> <wssp:target> <wssp:digestalgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1"/> <wssp:messageparts Dialect="http://www.bea.com/wls90/security/policy/wsee#part"> wls:securityheader(wsu:timestamp) </wssp:messageparts> </wssp:target> <wssp:target> <wssp:digestalgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1"/> <wssp:messageparts Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part"> wsp:body() </wssp:messageparts> </wssp:target> <wssp:supportedtokens> <wssp:securitytoken IncludeInMessage="true" TokenType="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"> <wssp:tokenissuer>cn=tdc OCES Systemtest CA II,O=TDC,C=DK,CN=TDC OCES CA,O=TDC,C=DK,</wssp:TokenIssuer> </wssp:securitytoken> </wssp:supportedtokens> </wssp:integrity> <wssp:messageage Age="60" xmlns:wssp="http://www.bea.com/wls90/security/policy"/> </s0:policy> <s0:policy s1:id="encrypt.xml"> <wssp:confidentiality xmlns:wssp="http://www.bea.com/wls90/security/policy"> <wssp:keywrappingalgorithm URI="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/> <wssp:target> <wssp:encryptionalgorithm URI="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/> 24.01.2011 A114.8484.11 Side 6 af 12

<wssp:messageparts Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">wsp:Body()</wssp:MessageParts> </wssp:target> <wssp:keyinfo> <wssp:securitytoken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509- token-profile-1.0#x509v3"/> <wssp:securitytokenreference> <wssp:embedded> <wsse:binarysecuritytoken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis- 200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" xmlns:wsse="http://docs.oasis- open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext- 1.0.xsd">MIIF7TCCBNWgAwIBAgIERZ18/zANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEM MAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wOTExMjUxMjAyNDNaFw0 xmtexmjuxmjmyndnamihgmqswcqydvqqgewjeszfhmeu- GA1UEChM+VU5JLUMgRGFubWFya3MgZWRiLWNlbnRlciBmb3IgdWRkYW5uZWxzZSBvZyBmbyAvLyB DVlI6MTMyMjM0NTkxgYcwJQYDVQQFEx5DVlI6MTMyMjM0NTktVUlEOjEyNTgwMjUzNjgyMzYwXgYDV QQDE1dVTkktQyBEYW5tYXJrcyBlZGItY2VudGVyIGZvciB1ZGRhbm5lbHNlIG9nIGZvIC0gS29tbXVuaWs ui- GVmdGVydWRkYW5uZWxzZS5kayAtIHZpcmsuZGswgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB ANVLuSmevvzQjWfK+WrcFgoV4+l+O2hd2oGT0sGFuzMhccGl/jh2B+rBOeYGkbDP2Y+PvJ+vb0gUIDYUt bxlvkzrkocut- WhmnIqbj3EYT0dhZevoPe/mxGNNt7bxW4mUfWlWiqWgENZKrEk0glTNXjw7g1zSD8cM9aomiYIqkgabAg MBAAGjggLfMIIC2zAOBgNVHQ8BAf8EBAMCA7gwKwYDVR0QBCQwIoAPMjAwOTExMjUxMjAyNDNagQ8yMDEx MTEyN- TEyMzI0M1owggE3BgNVHSAEggEuMIIBKjCCASYGCiqBUIEpAQEBAwMwggEWMC8GCCsGAQUFBwI BFiNodH- RwOi8vd3d3LmNlcnRpZmlrYXQuZGsvcmVwb3NpdG9yeTCB4gYIKwYBBQUHAgIwgdUwChYDVERDMA MCAQEagcZGb3IgYW52ZW5kZWxzZSBhZiBjZXJ0aWZpa2F0ZXQgZ+ZsZGVyIE9DRVMgdmlsa+VyLCB DUFMgb2cgT0NFUyBDUCwgZGVyIGthbiBoZW50ZXMgZnJhIHd3dy5jZXJ0aWZpa2F0LmRrL3JlcG9zaXR vcnkuiejlbezyaywgyxqgverdigvmdgvyihzpbgvlcmvuzsboyxigzxqgymvncuz- ZXQgYmVncuZuc2V0IGFuc3ZhciBpZnQuIHByb2Zlc3Npb25lbGxlIHBhcnRlci4wQQYIKwYBBQUHAQEENTAzMDEGCCs GAQUFBzABhiVodH- RwOi8vb2NzcC5jZXJ0aWZpa2F0LmRrL29jc3Avc3RhdHVzMDEGA1UdJQQqMCgGCCsGAQUFBwMBBg grbgefbqcdagyikwybbquhawmgccsgaqufbwmem- IGEBgNVHR8EfTB7MEugSaBHpEUwQzELMAkGA1UEBhMCREsxDDAKBgNVBAoTA1REQzEUMBIGA1 UEAxMLVER- DIE9DRVMgQ0ExEDAOBgNVBAMTB0NSTDQ1NjQwLKAqoCiGJmh0dHA6Ly9jcmwub2Nlcy5jZXJ0aWZp a2f0lmrrl29jzxmuy3jsmb8ga1udiwqymbaafgc1hexwzh4sgsdnhvavs3ouo/ksmb0ga1uddgq WBBS- IplfK94g4+MvesQeIWenNutiM6DAJBgNVHRMEAjAAMBkGCSqGSIb2fQdBAAQMMAobBFY3LjEDAgOoM A0GCSqGSIb3DQEBBQUAA4IBAQBqtnApJJ2RCP2Oqn6OEWax+Zp5HsdfAI/JtNZdu4enbciLfjL5K56ntcj RFGA+ceFHLWOsR49uDKzbg/bV9m2lxeHhl7LBzdM4YVYrrz61wc6jJkvTNSGc3L8EP41t3Iabr4CIT8SvCk AYz- YRUX7Ior4ISypRqTWtQakrkrO52nHWFktg6TtjOyuEm3q414Q5BOv7SZOva/dz+6Oo0Pwb3NMkgyU66VG /aapsfey/smkqeff+h9q8zwjoqvvixwndx23nn8ygnii7/dxp50lmhrkqggtgweaeoi0l92tm1prp2t/7mb OdZ7Dnqrt1Y/+iuMZh894I5x3ILbBWgNb+b</wsse:BinarySecurityToken> </wssp:embedded> </wssp:securitytokenreference> </wssp:keyinfo> </wssp:confidentiality> </s0:policy> <wsp:usingpolicy s2:required="true"/> <s2:types> <xsd:schema xmlns:s0="http://schemas.xmlsoap.org/wsdl/" xmlns:s1="http://www.logica.com/veupublic/v100" xmlns:s2="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.logica.com/veupublic/v100" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:import namespace="http://www.logica.com/veupublic/v100" schemalocation="http://test.efteruddannelse.dk:7779/absence/absenceservice/absenceservice?schema%2fabsen ce%2fmodel%2fabsencewebserviceproxy+xsd"/> </xsd:schema> </s2:types> <s2:message name="getabsence"> 24.01.2011 A114.8484.11 Side 7 af 12

<s2:part element="s3:getabsence" name="parameters"/> </s2:message> <s2:message name="getabsenceresponse"> <s2:part element="s3:getabsenceresponse" name="parameters"/> </s2:message> <s2:message name="getupdatedabsence"> <s2:part element="s3:getupdatedabsence" name="parameters"/> </s2:message> <s2:message name="getupdatedabsenceresponse"> <s2:part element="s3:getupdatedabsenceresponse" name="parameters"/> </s2:message> <s2:porttype name="absencewebservice_v100"> <s2:operation name="getabsence"> <s2:input message="s3:getabsence"/> <s2:output message="s3:getabsenceresponse"/> </s2:operation> <s2:operation name="getupdatedabsence"> <s2:input message="s3:getupdatedabsence"/> <s2:output message="s3:getupdatedabsenceresponse"/> </s2:operation> </s2:porttype> <s2:binding name="absencewebservice_v100portbinding" type="s3:absencewebservice_v100"> <s4:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsp:policy> <wsp:policyreference URI="#Encrypt.xml"/> <wsp:policyreference URI="#Sign.xml"/> </wsp:policy> <s2:operation name="getabsence"> <s4:operation/> <s2:input> <s4:body use="literal"/> </s2:input> <s2:output> <s4:body use="literal"/> </s2:output> </s2:operation> <s2:operation name="getupdatedabsence"> <s4:operation/> <s2:input> <s4:body use="literal"/> </s2:input> <s2:output> <s4:body use="literal"/> </s2:output> </s2:operation> </s2:binding> <s2:service name="absencewebservice_v100"> <s2:port binding="s3:absencewebservice_v100portbinding" name="absencewebservice_v100port"> <s4:address location="http://mid3.efteruddannelse.dk:7070/absence/absenceservice"/> </s2:port> </s2:service> </s2:definitions> 2.5 Skema for XML-input og XML-output XML Skema modellen for webservicen er tilrådighed her: http://www.efteruddannelse.dk/absence/absenceservice?schema%2fabsence%2fm odel%2fabsencewebserviceproxy+xsd test: http://test.efteruddannelse.dk:7779/absence/absenceservice/absenceservice?schem A%2FAbsence%2Fmodel%2FAbsenceWebserviceProxy+XSD 24.01.2011 A114.8484.11 Side 8 af 12

<?xml version="1.0" encoding="utf-8"?> <!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.4. --> <xs:schema version="1.0" targetnamespace="http://www.logica.com/veupublic/v100" xmlns:tns="http://www.logica.com/veupublic/v100" xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:include schemalocation="http://test.efteruddannelse.dk:7779/absence/absenceservice/absenceservice/absenceservice?sc HEMA%2FAbsence%2Fmodel%2FAbsenceWebserviceResult+XSD"/> <xs:element name="getabsence" type="tns:getabsence"/> <xs:element name="getabsenceresponse" type="tns:getabsenceresponse"/> <xs:element name="getupdatedabsence" type="tns:getupdatedabsence"/> <xs:element name="getupdatedabsenceresponse" type="tns:getupdatedabsenceresponse"/> <xs:element name="wsabsencerequest" type="tns:wsabsencerequest"/> <xs:element name="wsabsenceresponse" type="tns:wsabsenceresponse"/> <xs:complextype name="getupdatedabsence"> <xs:element name="abonnement" type="tns:wsabonnementrequest" minoccurs="0"/> <xs:complextype name="wsabonnementrequest"> <xs:element name="input" type="tns:absenceupdateinput"/> <xs:complextype name="absenceupdateinput"> <xs:element name="abonnementid" type="xs:string"/> <xs:complextype name="getupdatedabsenceresponse"> <xs:element name="wsresult" type="tns:wsupdatedabsenceresponse"/> <xs:complextype name="wsupdatedabsenceresponse"> <xs:complexcontent> <xs:extension base="tns:wsresponse"> <xs:element name="fraverliste" minoccurs="0"> <xs:complextype> <xs:element name="fraver" type="tns:absencedto" minoccurs="0" max- Occurs="unbounded"/> </xs:element> </xs:extension> </xs:complexcontent> <xs:complextype name="getabsence"> <xs:element name="absencerequest" type="tns:wsabsencerequest"/> <xs:complextype name="wsabsencerequest"> <xs:element name="input" type="tns:absenceinput"/> <xs:complextype name="absenceinput"> <xs:element name="abonnementid" type="xs:string" minoccurs="0"/> <xs:element name="cpr" type="xs:string"/> <xs:element name="startdato" type="xs:datetime"/> 24.01.2011 A114.8484.11 Side 9 af 12

<xs:complextype name="getabsenceresponse"> <xs:element name="wsresult" type="tns:wsabsenceresponse"/> <xs:complextype name="wsabsenceresponse"> <xs:complexcontent> <xs:extension base="tns:wsresponse"> <xs:element name="fraver" type="tns:absencedto" minoccurs="0"/> </xs:extension> </xs:complexcontent> <xs:complextype name="wsresponse" abstract="true"> <xs:element name="wsinfo" type="tns:servicecontrolinfo" minoccurs="0"/> <xs:complextype name="servicecontrolinfo"> <xs:element name="statuscode" type="xs:int"/> <xs:element name="statusmessage" type="xs:string" minoccurs="0"/> </xs:schema> Og her: http://www.efteruddannelse.dk/absence/absenceservice?schema%2fabsence%2fm odel%2fabsencewebserviceresult+xsd test: http://test.efteruddannelse.dk:7779/absence/absenceservice/absenceservice/absences ervice?schema%2fabsence%2fmodel%2fabsencewebserviceresult+xsd <?xml version="1.0" encoding="utf-8"?> <!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.4. --> <xs:schema version="1.0" targetnamespace="http://www.logica.com/veupublic/v100" xmlns:tns="http://www.logica.com/veupublic/v100" xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:complextype name="absencedto"> <xs:element name="fraverfagliste" minoccurs="0"> <xs:complextype> <xs:element name="fraverfag" type="tns:absenceskolefagpaaholddto" minoccurs="0" max- Occurs="unbounded"/> </xs:element> <xs:element name="cpr" type="xs:string" minoccurs="1"/> <xs:element name="navn" type="xs:string" minoccurs="1"/> <xs:complextype name="absenceskolefagpaaholddto"> <xs:element name="fraverdatoer" minoccurs="0"> <xs:complextype> 24.01.2011 A114.8484.11 Side 10 af 12

<xs:element name="fraverdato" type="tns:absencedatedto" minoccurs="0" max- Occurs="unbounded"/> </xs:element> <xs:element name="holdbetegnelse" type="xs:string" minoccurs="0"/> <xs:element name="kviknr" type="xs:string" minoccurs="0"/> <xs:element name="slutdato" type="xs:datetime"/> <xs:element name="fagbetegnelse" type="xs:string" minoccurs="0"/> <xs:element name="fagniveau" type="xs:string"/> <xs:element name="fagnummer" type="xs:string"/> <xs:element name="skolenavn" type="xs:string"/> <xs:element name="skolenummer" type="xs:string"/> <xs:element name="startdato" type="xs:datetime"/> <xs:element name="undervisningssted" type="xs:string" minoccurs="0"/> <xs:complextype name="absencedatedto"> <xs:element name="fraveraendret" type="xs:boolean" minoccurs="1"/> <xs:element name="fraverskode" type="xs:string" minoccurs="0"/> <xs:element name="fravertimer" type="xs:decimal" minoccurs="0"/> <xs:element name="fraverregistreret" type="xs:boolean" minoccurs="1"/> <xs:element name="beskrivelse" type="xs:string" minoccurs="0"/> <xs:element name="dato" type="xs:datetime"/> <xs:element name="kortbeskrivelse" type="xs:string" minoccurs="0"/> <xs:element name="tilstedeverelsetimer" type="xs:decimal" minoccurs="1"/> <xs:element name="fritekst" type="xs:string" minoccurs="0"/> </xs:schema> 3. Sikkerhed Webservicen er offentlig tilgængelig over http men der er benyttet WS-Security for at sikre fortrolighed, dataintegritet og autentificering. http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security- 1.0.pdf Til signering bruges virksomhedscertifikater der skal være signeret af rodcertifikat fra DanID. Kryptering foregår med Uni-C certifikat (offentlige nøgle). Det er kun adgang til fraværsdata, hvis der bruges virksomhedscertifikater hvor certifikatets CVR nummer er registreret som A-Kasse i efteruddannelse.dk 3.1 Timestamp På både klient og serverside tilføjes SOAP headeren et timestamp. Se side 36 i specifikationen: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security- 1.0.pdf 3.2 Signering For at sikre dataintegritet og autentificeringen signeres visse elementer i Webservicekaldet. Signatur tilføjes både på server og klient. 24.01.2011 A114.8484.11 Side 11 af 12

Signeringsalgoritmerne der skal bruges er specificeret i Policy elementerne i Servicens WSDL Følgende elementer signeres Element Namespace Timestamp http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurityutility-1.0.xsd Token http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurityutility-1.0.xsd Body http://schemas.xmlsoap.org/soap/envelope/ 3.3 Kryptering For at sikre fortrolighed krypteres Body elementet i webservicekaldet. Body elementet krypteres både i request og response. Krypteringsalgoritmerne der skal bruges er specificeret i Policy elementerne i Servicens WSDL Serverens certifikat med public nøgle til kryptering findes i WSDL filen under wsse:binarysecuritytoken Følgende elementer krypteres Element Namespace Body http://schemas.xmlsoap.org/soap/envelope/ 3.4 Absence service konkret Som beskrevet ovenfor bruges både kryptering og signering. Til det formål bruges Sign.xml og Entrypt.xml som er predefinerede elementer i OSB en: Entrypt.xml : This policy requires clients to encrypt the SOAP body with 3DES-CBC. The key wrapping algorithm is RSA 1.5 A symetric key for the Trible Data Encryption Standard (3DES) is generated by the client and entrypted for the recipient with RSA 1.5. Sign.xml : This policy requires clients to sign the SOAP body. It also requires that the client add a signed timestamp to the wsse:security header. Any system header present in the message must also be signed (system headers are WSRM headers, WS-Addressing headers. And the WSS timestamp) The digital signature algorithm is RSA-SHA1. Exclusive XML canonicalization is used. 24.01.2011 A114.8484.11 Side 12 af 12