Webservice til UNI-Login import WS
Webservice til UNI Login-import
Indhold Indledning... 4 Kontakt Webservicen... 4 Webservicens Get-metoder... 5 GetXmlSchemaNames()... 5 GetXmlSchema(string schemaname)... 5 Resultat af Webservicens Get-metoder... 5 Webservicens metoder til dataoverførelse... 6 ValidateXmlAgainstNamedSchema(XmlDocument xml, schemaname)... 6 UploadXmlData(WSuserId, WSpassword, XmlDocument xml)... 7 UploadIncrementalXmlData(WSuserId, WSpassword, XmlDocument xml).. 7 UploadDeleteXmlData(WSuserId, WSpassword, XmlDocument xml)... 7 Resultat af Webservicens metoder til dataoverførelse... 8 Http fejl... 8 Soap fejl... 8 Svar fra servicen... 8 Statuskode... Eksempler... Udviklingsværktøjer... 3 Feltdefinitioner... 5 Tabel over felter og attributter... 5 UNILoginImport... 6 Institution... 7 Group... 7 InstitutionPerson... 9 Employee... 9 Student... 2 ContactPerson... 2 Person... 2 PhoneNumber... 22 Address... 23 UNILogin... 23
Kontrol af data... 24 Fejlkonsekvens:... 24 Følgende kontroller og normaliseringer bruges:... 25 Bilag : Eksempel på valid XML data... 25 Bilag 2: Eksempel på soap request... 27 Bilag 3: Eksempel på soap response... 28 Indledning Dette dokument beskriver webservicen tilhørende UNI-Login indberetningen af brugere fra administrative systemer. UNI-Login import webservicen er i version 2 og dokumentationen er i version 6, i dokumentnavnet v2.6. Dokumentationen forventes løbende at blive opdateret for uklarheder. Kontakt Webservicen Webservicens servicebeskrivelse findes på adressen produktion: test: https://ws.infotjeneste.uni-c.dk/?wsdl https://ws-test.infotjeneste.uni-c.dk/?wsdl De tre centrale metoder i webservicen er UploadXmlData UploadIncrementalXmlData UploadDeleteXmlData der modtager XmlData og validerer disse mod relevante Xml skemaer. Webservicen udstiller en række andre metoder, heriblandt en simpel HelloWorld metode, der blot returnerer Hello World. Det anbefales at foretage den første test mod denne metode. Endvidere udstilles metoden HelloWorldWithCredentials der kan anvendes til at teste webservicen med angivelse af login-oplysninger.
Webservicens Get-metoder Webservicen udstiller en række Get/Hentmetoder, som kort beskrives nedenfor. GetXmlSchemaNames() Denne metode returnerer en liste med navne på aktuelle XML Skemaer, der kan hentes via GetXmlSchema metoden. GetXmlSchema(string schemaname) Denne metode returnerer det navngivne skema som XML data skal overholde, når der overføres data fra de administrative systemer til webservicen. Det anbefales, at leverandøren altid sikrer sig, at XML data overholder de skemaer, der udstilles via GetXmlSchema og validerer XML data modskemaet før overførelse til webservicen. GetXmlSchema returnerer skemaet i XML format. Resultat af Webservicens Get-metoder GetXmlSchemaNames() Der returneres et SOAP svar på formen: <?xml version="." encoding="utf-8"?> <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2/xmlschema-instance" xmlns:xsd="http://www.w3.org/2/xmlschema"> <soap:body> <GetXmlSchemaNamesResponse xmlns="http://www.uni-c.dk/import2"> <GetXmlSchemaNamesResult> <string>uploaddelete.xsd</string> <string>uploadfull.xsd</string> </GetXmlSchemaNamesResult> </GetXmlSchemaNamesResponse> </soap:body> </soap:envelope>
GetXmlSchema(string schemaname) <?xml version="." encoding="utf-8"?> <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2/xmlschema-instance" xmlns:xsd="http://www.w3.org/2/xmlschema"> <soap:body> <GetXmlSchemaResponse xmlns="http://www.uni-c.dk/import2"> [ ] <GetXmlSchemaResult> <xs:schema xml:lang="da" xmlns:xs="http://www.w3.org/2/xmlschema"> </xs:schema> </GetXmlSchemaResult> </GetXmlSchemaResponse> </soap:body> </soap:envelope> Hvor xml-skemaet, der er udpeget med schemaname returneres i <xs:schema> elementet. Webservicens metoder til dataoverførelse ValidateXmlAgainstNamedSchema(XmlDocument xml, schemaname) Validerer overførte XML data mod det navngivne skema. Der returneres enten et OK-svar, hvis skemaet validerer, eller en liste i XML format med fejlmeddelelser. Fejlmeddelelserne er henvendt til udviklere og lister fejlmeddelelsen samt den linje i XML filen, der fejler i forhold til skemaet. Der er to forskellige, navngivne skemaer, fordelt på de tre Upload- metoder: UploadXmlData bruger uploadfull.xsd UploadIncrementalXmlData bruger uploadfull.xsd UploadDeleteXmlData bruger uploaddelete.xsd Metoden har alene til formål at teste XML data mod det pågældende skema og er en hjælp til udvikling af XML eksport i de administrative systemer. Se Bilag for eksempel på XML data, der overholder det aktuelle skema og returnerer et OK-svar.
UploadXmlData(WSuserId, WSpassword, XmlDocument xml) Denne metode er den korrekte måde at overføre XML data til UNI-Login indberetningen, når det er første gang der importeres data, eller når man vil sikre sig, at data er fuldstændig i synk. Her overføres alle brugere hver gang. UploadXmlData vil først validere XML data mod skemaet ved navn upload- Full.xsd og dernæst behandle data. Hvis der findes fejl ved validering mod XML skemaet vil metoden returnere samme svarmeddelelse som ValidateXmlAgainstSchema ovenfor. De to parametre, WSuserId og WSpassword, skal indeholde gyldigt userid og password for en wsbruger. Autorisation foregår altså via parametre i kaldet og ikke i soap-headeren. Manglende eller ugyldig WSuserId/Wspassord vil udløse en soap-fault. UploadIncrementalXmlData(WSuserId, WSpassword, XmlDocument xml) Denne metode er den korrekte måde at overføre XML data til UNI-Login indberetningen, når der er tale om ændringer i data. Det kan enten være nye brugere eller ændringer til eksisterende brugere. Der overføres kun de ændrede brugere UploadIncrementalXmlData vil først validere XML data mod schemaet ved navn uploadfull.xsd og dernæst behandle data. Hvis der findes fejl ved validering mod XML skemaet vil metoden returnere samme svarmeddelelse som ValidateXmlAgainstSchema ovenfor. De to parametre, WSuserId og WSpassword, skal indeholde gyldigt userid og password for en wsbruger. UploadDeleteXmlData(WSuserId, WSpassword, XmlDocument xml) Denne metode er den korrekte måde at overføre XML data til UNI-Login indberetningen, når brugere skal slettes. Der overføres kun de slettede brugere. UploadDeleteXmlData vil først validere XML data mod skemaet ved navn uploaddelete.xsd og dernæst behandle data. Hvis der findes fejl ved validering mod XML skemaet vil metoden returnere samme svarmeddelelse som ValidateXmlAgainstSchema ovenfor. De to parametre, WSuserId og WSpassword, skal indeholde gyldigt userid og password for en wsbruger.
Resultat af Webservicens metoder til dataoverførelse Svar og fejlsvar opdeles i: Http fejl, som er fejl hvor servicen ikke er tilgængelig eller det modtagne data ikke kan tolkes som SOAP. SOAP fejl, som kan være forkert login eller fejl i XML strukturen. Svar fra servicen der kan indeholde et ok eller fejlsvar. Http fejl På dette niveau kontaktes en http adresse og noget data afleveres. Der kan indtræffe disse fejl:. Servicen er af en eller anden grund ikke tilgængelig. Giver HTTP: fejl 5. 2. Afleveret data giver ikke mening at fortolke som SOAP, er for eksempel ikke korrekt SOAP XML. Giver HTTP: fejl 4 (bad request). Soap fejl På dette niveau tolkes det afleverede data som SOAP. Der kan indtræffe disse fejl:. Forkert brugerid / password 2. Afleveret data ikke korrekt XML. Ad : Giver denne SOAP-fault: <soap:body> <soap:fault> <faultcode>soap:client</faultcode> <faultstring>kombinationen af brugernavn og adgangskode er forkert.</faultstring> <detail/> </soap:fault> </soap:body> Svar fra servicen Når servicen har været aktiveret uden SOAP fejl returneres et svar på formen: <?xml version="." encoding="utf-8"?>
<soap:envelope xmlns:soap="http://www.w3.org/23/5/soap-envelope" xmlns:xsi="http://www.w3.org/2/xmlschema-instance" xmlns:xsd="http://www.w3.org/2/xmlschema"> <soap:body> <UploadXmlDataResponse xmlns="http://www.uni-c.dk/import2"> <UploadXmlDataResult> <summary> [ ] </summary> <details> [ ] </details> <ValidationErrors/> <ValidationWarnings/> <statuskode> [ ] </statuskode> <instnr> [ ] </instnr> <newobjects> </newobjects> <updatedobjects> [ ] </updatedobjects> <deletedobjects> [ ] </deletedobjects> <deniedobjects> [ ] </deniedobjects> </UploadXmlDataResult> </UploadXmlDataResponse> </soap:body> </soap:envelope> Forklaring til felterne XML element Summary Details Beskrivelse En kort beskrivelse af resultatet, evt. en fejlmeddelelse. En uddybning af hvor mange objekter (f.eks. Institution- Person) der er påvirket af indlæsningen, egnet til at videregive til slutbrugeren. Hvis <statuskode> er forskellig fra er der ikke læst noget ind, og <details> er tom. I det tilfælde indeholder <summary> en fejlmeddelelse. ValidationErrors En liste over syntaksfejl i inddata. Er tom når der ikke er fejl. ValidationWarnings En liste over advarsler om inddata, Tom når der ikke er advarsler. Statuskode instnr newobjects Numerisk statuskode, se nedenfor. Samme institutionsnummer, som blev angivet i inddata. Antallet af nye InstitutionPersoner der er indlæst.
updatedobjects deletedobjects deniedobjects Antal InstitutionPerson, der er opdateret. Antal InstitutionPerson, der er slettet. Antal InstitutionPerson, der ikke kunne læses ind. Ved <statuskode> står det frit om man vil gengive <details> ordret over for brugeren, eller om man selv vil konstruere en resultattekst vha. af de andre elementer. Statuskode Returneres altid sammen med en <summary> der forklarer værdien, således: : Importkilde er ukendt 2: Institutionsnummer er ukendt 3: Der findes en anden import med samme importkilde og institutionsnummer, med en senere dato en der er angivet i denne import. 4: (Kun inkrementel import): Der findes ikke nogen tidligere import med samme importkilde og institutionsnummer, så der er ikke noget at inkrementere til. 5: Generel fejl i dato 8: XML fejl (syntaksfejl) I input. 9: Intern fejl, bør meldes til Uni-C support. Eksempler Accepteret Indlæsning af to syntaktisk korrekte InstitutionPerson <soap:envelope xmlns:soap="http://www.w3.org/23/5/soap-envelope" xmlns:xsi="http://www.w3.org/2/xmlschema-instance" xmlns:xsd="http://www.w3.org/2/xmlschema"> <soap:body> <UploadXmlDataResponse xmlns="http://www.uni-c.dk/import2"> <UploadXmlDataResult> Antal nyindlæste: 2 Antal genindlæste: Antal udgåede: <summary>indlæsning afsluttet</summary> <details>total indlæsning afsluttet Antal afviste: </details> <ValidationErrors/> <ValidationWarnings/> <statuskode></statuskode>
<instnr>a35</instnr> <newobjects>2</newobjects> <updatedobjects></updatedobjects> <deletedobjects></deletedobjects> <deniedobjects></deniedobjects> </UploadXmlDataResult> </UploadXmlDataResponse> </soap:body> </soap:envelope> Antal nyindlæste: 2 er en gentagelse af <newobjects>2</newobjects> Forsøg på sletning af fire syntaktisk korrekte InstitutionPerson <soap:envelope xmlns:soap="http://www.w3.org/23/5/soap-envelope" xmlns:xsi="http://www.w3.org/2/xmlschema-instance" xmlns:xsd="http://www.w3.org/2/xmlschema"> <soap:body> <UploadDeleteXmlDataResponse xmlns="http://www.uni-c.dk/import2"> <UploadDeleteXmlDataResult> Antal nyindlæste: Antal genindlæste: Antal slettede: 2 <summary>indlæsning afsluttet</summary> <details>inkrementel indlæsning afsluttet Antal ukendte: 2</details> <ValidationErrors/> <ValidationWarnings/> <statuskode></statuskode> <instnr>a35</instnr> <newobjects></newobjects> <updatedobjects></updatedobjects> <deletedobjects>2</deletedobjects> <deniedobjects>2</deniedobjects> </UploadDeleteXmlDataResult> </UploadDeleteXmlDataResponse> </soap:body> </soap:envelope> Elementet <deletedobjects> angiver hvor mange objekter der er slettet (her 2) og <deniedobjects> angiver hvor mange objekter der ikke kunne slettes (her 2). I eksemplet er der oploaded fire sletteposter, hvoraf kun de to fandtes i basen.
Indlæsning af flere InstitutionPerson med syntaksfejl <soap:envelope xmlns:soap="http://www.w3.org/23/5/soap-envelope" xmlns:xsi="http://www.w3.org/2/xmlschema-instance" xmlns:xsd="http://www.w3.org/2/xmlschema"> <soap:body> <UploadXmlDataResponse xmlns="http://www.uni-c.dk/import2"> <UploadXmlDataResult> <summary>xml Fejl</summary> <details/> <ValidationErrors> <ValidationMessage> <Message>Linje: 3 udløser fejlen: [The 'BirthDate' element is invalid - The value 'ukendt' is invalid according to its datatype 'String' - The Pattern constraint failed.]</message> </ValidationMessage> <ValidationMessage> <Message>Linje: 59 udløser fejlen: [The 'Gender' element is invalid - The value 'pige' is invalid according to its datatype 'String' - The Enumeration constraint failed.]</message> </ValidationMessage> <ValidationMessage> <Message>Linje: udløser fejlen: [The required attribute 'protected' is missing.]</message> </ValidationMessage> <ValidationMessage> <Message>Linje: 57 udløser fejlen: [The element 'Institution- Person' has invalid child element 'fejl'. List of possible elements expected: 'UNILogin'.]</Message> </ValidationMessage> </ValidationErrors> <ValidationWarnings/> <statuskode>8</statuskode> <instnr>a35</instnr> <newobjects></newobjects> <updatedobjects></updatedobjects> <deletedobjects></deletedobjects> <deniedobjects></deniedobjects> </UploadXmlDataResult> </UploadXmlDataResponse> </soap:body> </soap:envelope> De enkelte <Message> elementer indeholder fejlmeddelelserne. Indlæsning med ukendt importkilde <soap:envelope xmlns:soap="http://www.w3.org/23/5/soap-envelope" xmlns:xsi="http://www.w3.org/2/xmlschema-instance" xmlns:xsd="http://www.w3.org/2/xmlschema"> <soap:body>
<UploadXmlDataResponse xmlns="http://www.uni-c.dk/import2"> <UploadXmlDataResult> <summary>fejl : Ukendt importkilde EASYX (testxxa)</summary> <details/> <ValidationErrors/> <ValidationWarnings/> <statuskode></statuskode> <instnr>a35</instnr> <newobjects></newobjects> <updatedobjects></updatedobjects> <deletedobjects></deletedobjects> <deniedobjects></deniedobjects> </UploadXmlDataResult> </UploadXmlDataResponse> </soap:body> </soap:envelope> Eksempel på at <details> er tom når <statuskode> ikke er. Udviklingsværktøjer Webservicen er udviklet i.net 4. frameworket og kan umiddelbart tilgås ved at tilføje WSDL som service reference. Følgende gratis udviklingsværktøjer kan anbefales til test og debug. soupui (http://www.soapui.org/) kan bl.a. oprette soap requests, der kan sendes mod webservicen. Fiddler (http://www.fiddler2.com/fiddler2/) analyserer webservice kald og svar. Bemærk: Webservicekald med https:// er krypteret. Bilag 2 og 3 er eksempler på hhv. soap request og tilhørende soap response, når XML data i bilag anvendes.
Feltdefinitioner UNILoginImport Institution InstitutionPerson Group Employee Student UNILogin GroupId ContactTeacher MainGroupId ContactPerson GroupId Tabel over felter og attributter Tabellen beskriver de felter med tilhørende attributter, der kan importeres med de regler der gælder for hvert felt. Indholdet af kolonnen Fejl / kontrol er beskrevet i afsnittet om fejlbehandling. Bemærk konventionen: Feltnavne er med stort begyndelsesbogstav og attributnavne er med lille. I tabellen herunder er attributnavne yderligere pointeret med en mørkere baggrundsfarve.
UNILoginImport Felt Type Antal Kontrol Beskrivelse exportdatetime DateTime A 2 Tid for eksport af data fra kildesystemet på formen YYYY-MM-DDThh:mm:ss Eks: 2--T7:: Tidspunktet skal være nyere end tidspunktet for sidste eksport der er indlæst. importdatetime DateTime - A 3 lastchangedate DateTime - A 3 Tidspunkt for indlæsning i UNI- Login Denne attribut kan ikke importeres, og angives kun ved eksport fra UNI-Login. Hvis den findes i en import, bliver den stiltiende ignoreret. Tidspunkt for hvornår UNI-Login senest har modtaget ændringer i en import. Denne attribut kan ikke importeres, og angives kun ved eksport fra UNI-Login. Hvis den findes i en import, bliver den stiltiende ignoreret. Source String A 2 Navn på kildesystem. Navnet bruges sammen institutionens registreringsnummer til identifikation af importen. Hvis man derfor ønsker at have flere forskellige importer fra det samme system skal de have forskellige navne, fx KMD-elev og KMDansat. Kilden skal være defineret i UNI-Login inden importen udføres.
Felt Type Antal Kontrol Beskrivelse sourceversion String - A Versionsnummer på kildesystem. Kun information. Gemmes ikke i UNI-Login. Institution Element A Institution Institution Felt Type Antal Kontrol Beskrivelse InstitutionNumber String A 2 6-tegns institutionsnummer, typisk det der er tildelt fra UNI-C, men også interne numre der kun bruges inden for UNI-C. Institutionen skal være oprettet i UNI-Login inden importen udføres. WS brugeren skal have adgang til at opdatere på institutionen. InstitutionName String - I Institutionsnavn. Kun information. Gemmes ikke i UNI-Login. Person Element -n Ansatte og elever på institutionen. Group Element -n Grupper på institutionen Group Grupper bruges til samling af personer på en institution. Både elever og lærere kan tilknyttes grupper. En gruppe kan fx være klasser i grundskolen, hold, fag, studiegrupper eller lærerteams. Der er i gruppebegrebet ingen begrænsninger i forhold til hvad den enkelte institution vil bruge det til. Grupper kan oprettes både eksplicit og implicit. Group elementet bruges til eksplicit oprettelse af grupper i forbindelse med import og alle attributter på gruppen kan udfyldes. Hvis en gruppe refereres fra personer uden at den er oprettet med Group elementet, foretager UNI-Login en implicit oprettelse af gruppen med blot et GroupId.
Felt Type Antal Kontrol Beskrivelse GroupId String E Gruppeid/holdID/fagkode som er unikt på institutionen. Lokal betegnelse for klassebetegnelsen/stamholdet. En lærer kan tilknyttes en stamklasse ved at angive klassens GroupId på lærerens liste af grupper. For grundskoler fx: 27B GroupName String E Gruppenavn/holdnavn/fagbetegnelse/ klassebetegnelse For grundskoler fx 5B Hvis det er en implicit oprettelse, gemmes GrupId som GroupName. Level String - E Klassens/stamholdets trin/niveau. En af værdierne,, 2, 3, 4, 5, 6, 7, 8, 9,,, 2, 3, 4. Skal angives for grupper der benyttes som MainGroup i grundskolen. For grundskoler fx 5 Line String - E FromDate Date - E ToDate Date - E Spor (et bogstav), linje, studieretning eller lign. for klassen/stamholdet. For grundskoler fx B Gruppens startdato på formen YYYY-MM- DD YYYY vises i UNI-Login som årgang for de grupper der fungerer som MainGroup. Har særlig betydning for grundskolernes AD. Gruppens slutdato på formen YYYY-MM- DD
InstitutionPerson Felt Type Antal Kontrol Beskrivelse LocalPersonId String A Den lokale identifikation af personen på institutionen. Identifikationen bruges til at genkende personer fra en import til den næste. Identifikationen skal derfor være unik inden for en import, således at <institutionnumber><source><localpersonid> skal være unik. Identifikationen skal være uforanderlig, således at en person der en gang er importeret med et LocalPersonId skal have det samme LocalPersonId i alle fremtidige importer. Person Element E Personoplysninger Student Element - Elevoplysninger om personen Employee Element - Læreroplysninger om personen UNILogin Element - I Angives kun ved eksport fra UNI-Login. Har ingen effekt ved import til UNI-Login. Employee Felt Type Antal Kontrol Beskrivelse Type Enum E En af værdierne: lærer, tap","pæd" ShortName String - I Initialer Occupation String - I Stilling Location String - I Afdeling, bygning eller værelsesnummer på efterskoler.
Felt Type Antal Kontrol Beskrivelse GroupId String -n I Referencer til de grupper medarbejderen er tilknyttet. Feltet skal indeholde gruppernes unikke id på institutionen GroupId. Student Felt Type Antal Kontrol Beskrivelse Type Enum E En af værdierne: elev,"stud" StudentNumber String - E Level Enum - E Location String - E MainGroupId String E Elevens studienummer fra lokalt administrativt system. Elevens niveau. Skal udfyldes for grundskoleelever! En af værdierne,, 2, 3, 4,,5,,6, 7, 8,,9,,, 2, 3, 4. Afdeling, bygning eller værelsesnummer på efterskoler. Elevens hovedgruppe. Hovedgruppen er for grundskoler elevens klasse og kan for andre institutioner være studieretning eller stamhold. Feltet skal indeholde gruppens unikke id på institutionen - GroupId. Skal udfyldes! GroupId String -n I Andre grupper eleven er tilknyttet. Feltet skal indeholde gruppernes unikke id på institutionen - GroupId.
Felt Type Antal Kontrol Beskrivelse ContactTeacher Element - Kontaktlærer. Personoplysninger på en kontaktperson. Bliver i UNI- Login til en kontaktperson, som ikke har forældremyndighed, og har relationen kontaktlærer. ContactPerson Element - Kontaktperson ContactPerson Felt Type Antal Kontrol Beskrivelse Relation String E childcustody Enum E Kontaktpersonens relation til eleven - skal udfyldes. Typiske værdier: Mor, Far, Mormor. Har personen forældremyndighed? =ja, =nej Person Element Personoplysninger på kontaktpersonen Person Felt Type Antal Kontrol Beskrivelse CivilRegistrationNumber String - I CPR-nummer på formen DDM- MYYXXXX eller DDMMYY- XXXX. Kun gyldige CPR-numre forventes. CPR-nummer bruges blandt andet til at se om personen allerede har et UNI-Login på samme eller anden institution og derfor ikke skal have et nyt.
Felt Type Antal Kontrol Beskrivelse FirstName String E Fornavne FamilyName String E Efternavn Address Element - Personens privatadresse HomePhoneNumber Element - Hjemmetelefon WorkPhoneNumber Element - Arbejdstelefon MobilePhoneNumber Element - Mobiltelefon EmailAddress String - E E-mail BirthDate String - E Gender Enum - E PhotoId String - E Fødselsdato på formen YYYY- MM-DD Personens køn. En af værdierne M, K Benyttes til at navngive foto med Extra String (2) - E Evt. ekstra oplysninger. Tekst ud over 2 tegn gemmes ikke. PhoneNumber Felt Type Antal Kontrol Beskrivelse protected Enum E Number String E Er telefonnummeret beskyttet? =ja, =nej Telefonnummer
Address Felt Type Antal Kontrol Beskrivelse Protected Enum - E StreetAddress String - E Er navn og adresse beskyttet? =ja, =nej Adressens vejnavn, nr. og etage PostalCode String - E Postnummer PostalDistrict String - E By CountryCode String(2) E Country String - E Adressens landekode i to tegn, svarende til ISO 366- alpha-2 standarden. For eksempel DK. Adressens land MunicipalityCode String - E Kommunekode MunicipalityName String - E Kommunenavn UNILogin Bemærk at UNILogin felterne kun bruges i forbindelse med eksport. Hvis de angives i forbindelse med import ignoreres de. Felt Type Antal Kontrol Beskrivelse UserId String I Unik UNI-Login brugerid
Felt Type Antal Kontrol Beskrivelse InitialPassword String - I PasswordState String - I Det password brugeren fik ved oprettelsen, eller sidst det blev nulstillet "valid" hvis brugeren ikke selv har skiftet sit UNI-Login password. Dvs. initialpassword er gældende. "changed" hvis brugeren har skiftet sit password. Name String I SkolekomName String I EmailAddress String - I MobilePhoneNumber String - I Brugerens navn i UNI-Login. Fx Peter Hansen Brugerens SkoleKomnavn Fx Peter Hansen46 Brugerens selvvalgte mailadresse i UNI-Login. Hvis brugeren selv har angivet en mailadresse på brugerprofil.emu.dk eller via ws9, er det denne mailadresse. Ellers er det en skolekom-mailadresse hvis institutionen har SkoleKom. Brugerens selvvalgte mobilnummer i UNI-Login. Er udfyldt, hvis brugeren selv har angivet et mobilnummer på brugerprofil.emu.dk eller via ws9. Kontrol af data Kolonnen Kontrol angiver handlingen hvis det pågældende felt ikke overholder kravene der er specificeret. Kravene er dels de formatmæssige, hvoraf nogle fremgår af skemaet, dels de yderligere logiske kontroller der udføres mod eksisterende data i UNI-Login. Kolonne indeholder 2 værdier som beskriver konsekvensen ved fejl og eventuelle standardvalideringer eller trimninger der udføres på feltet. Fejlkonsekvens: A: Hele importen afvises. E: Den fejlbehæftede post bruger eller gruppe, afvises.
I: Feltets indhold ignoreres og gemmes derfor ikke i UNI-Login. Følgende kontroller og normaliseringer bruges: : Ingen ud over skemaet. : Trim: Erstat hver følge af blanktegn med et blanktegn Fjern foran- og efterstillede blanktegn Fejl hvis feltet tomt / blankt efter trim. Dvs. et krævet tekstfelt skal have indhold forskelligt fra blanke. 2: Kontrol imod data i UNI-Login. Selve kontrollen står i kolonnen beskrivelse. 3: Afvis hvis feltet findes Bilag : Eksempel på valid XML data <?xml version="." encoding="utf-8"?> <UNILoginImport xmlns:xsi="http://www.w3.org/2/xmlschema-instance" xsi:nonamespaceschemalocation="file:/home/uniont/infotjeneste/import_version2/for mat/uniloginimportv2g.xsd" exportdatetime="2--t7::" importdatetime="26-5-4t8:3:5.z" lastchangedate="26-5-4t8:3:5.z" source="source" sourceversion="23"> <Institution> <InstitutionNumber>A35</InstitutionNumber> <InstitutionName>Uni-C</InstitutionName> <InstitutionPerson> <LocalPersonId>uniaa</LocalPersonId> <Person> <CivilRegistrationNumber>429983</CivilRegistrationNumber> <FirstName>Peter</FirstName> <FamilyName>Hansen</FamilyName> <Address protected=""> <StreetAddress>Vermundsgade</StreetAddress> <PostalCode>2</PostalCode> <PostalDistrict>Kbh Ø</PostalDistrict> <CountryCode>DK</CountryCode> <Country>Danmark</Country> <MunicipalityCode></MunicipalityCode> <MunicipalityName>København</MunicipalityName>
</Address> <HomePhoneNumber protected=""> <Number>2345678</Number> </HomePhoneNumber> <WorkPhoneNumber protected=""> <Number>78888989</Number> </WorkPhoneNumber> <MobilePhoneNumber protected=""> <Number>78888989</Number> </MobilePhoneNumber> <EmailAddress>peter.hansen@uni-c.dk</EmailAddress> <BirthDate>929-4-</BirthDate> <Gender>M</Gender> <PhotoId>2435</PhotoId> <Extra>Anas Americana</Extra> </Person> <Student type="elev"> <MainGroupId>MainGroupId</MainGroupId> </Student> <Employee type="tap"> </Employee> <UNILogin> <UserId>pete99</UserId> <InitialPassword>InitialPassword</InitialPassword> <PasswordState>valid</PasswordState> <Name>Name</Name> <SkolekomName>SkolekomName</SkolekomName> <EmailAddress>peter.hansen@uni-c.dk</EmailAddress> <MobilePhoneNumber>MobilePhoneNumber</MobilePhoneNumber> </UNILogin> </InstitutionPerson> <Group> <GroupId>27B</GroupId> <GroupName>5B</GroupName> <Level>5</Level> <Line>B</Line> <FromDate>26-5-4</FromDate> <ToDate>26-5-4</ToDate> </Group> </Institution> </UNILoginImport>
Bilag 2: Eksempel på soap request <soap:envelope xmlns:soap="http://www.w3.org/23/5/soap-envelope" xmlns:unil="http://www.uni-c.dk/uniloginuploadv2"> <soap:header/> <soap:body> <unil:validatexmlagainstschema> <!--Optional:--> <unil:xml> <?xml version="." encoding="utf-8"?> <UNILoginImport xmlns:xsi="http://www.w3.org/2/xmlschema-instance" xsi:nonamespaceschemalocation="file:/home/uniont/infotjeneste/import_version2/for mat/uniloginimportv2g.xsd" exportdatetime="2--t7::" importdatetime="26-5-4t8:3:5.z" lastchangedate="26-5-4t8:3:5.z" source="source" sourceversion="42"> <Institution> <InstitutionNumber>A35</InstitutionNumber> <InstitutionName>Uni-C</InstitutionName> <InstitutionPerson> <LocalPersonId>uniaa</LocalPersonId> <Person> <CivilRegistrationNumber>429983</CivilRegistrationNumber> <FirstName>Peter</FirstName> <FamilyName>Hansen</FamilyName> <Address protected=""> <StreetAddress>Vermundsgade</StreetAddress> <PostalCode>2</PostalCode> <PostalDistrict>Kbh Ø</PostalDistrict> <CountryCode>DK</CountryCode> <Country>Danmark</Country> <MunicipalityCode></MunicipalityCode> <MunicipalityName>København</MunicipalityName> </Address> <HomePhoneNumber protected=""> <Number>2345678</Number> </HomePhoneNumber> <WorkPhoneNumber protected=""> <Number>2345678</Number> </WorkPhoneNumber> <MobilePhoneNumber protected=""> <Number>78888989</Number> </MobilePhoneNumber> <EmailAddress>peter.hansen@uni-c.dk</EmailAddress> <BirthDate>929-4-</BirthDate>
<Gender>K</Gender> <PhotoId>2435</PhotoId> <Extra>Anas Americana</Extra> </Person> <Student type="elev"> <MainGroupId>MainGroupId</MainGroupId> </Student> <Employee type="tap"> </Employee> <UNILogin> <UserId>pete99</UserId> <InitialPassword>InitialPassword</InitialPassword> <PasswordState>valid</PasswordState> <Name>Name</Name> <SkolekomName>SkolekomName</SkolekomName> <EmailAddress>peter.hansen@uni-c.dk</EmailAddress> <MobilePhoneNumber>MobilePhoneNumber</MobilePhoneNumber> </UNILogin> </InstitutionPerson> <Group> <GroupId>27B</GroupId> <GroupName>5B</GroupName> <Level>5</Level> <Line>B</Line> <FromDate>26-5-4</FromDate> <ToDate>26-5-4</ToDate> </Group> </Institution> </UNILoginImport> </unil:xml> </unil:validatexmlagainstschema> </soap:body> </soap:envelope> Bilag 3: Eksempel på soap response <soap:envelope xmlns:soap="http://www.w3.org/23/5/soap-envelope" xmlns:xsi="http://www.w3.org/2/xmlschema-instance" xmlns:xsd="http://www.w3.org/2/xmlschema"> <soap:body> <ValidateXmlAgainstSchemaResponse xmlns="http://www.unic.dk/uniloginuploadv2"> <ValidateXmlAgainstSchemaResult>
<Message>XML blev modtaget og validerer korrekt mod schema definitionen.</message> <ErrorCount></ErrorCount> <ValidationErrors/> </ValidateXmlAgainstSchemaResult> </ValidateXmlAgainstSchemaResponse> </soap:body> </soap:envelope>