Dokumentoplysninger
Ændringshistorik
Arkiveret ændringshistorik
Indhold
Indledning
Dette dokument beskriver strukturen for de oplysninger, der skal indberettes til Lærepladsen.dk/EASY-P fra studieadministrative systemer, og giver en beskrivelse af webservicen til opdatering af person- og svendeprøveoplysninger i EASY-P (herefter Webservicen) via eksempler. Indberetningerne skal ske via IPL (se afsnit 7), som videresender data til Lærepladsen.dk. Lærepladsen.dk sørger for, at data videresendes til EASY-P.
Der skal ske en "system til system"-udveksling. Det betyder i praksis, at institutionens studieadministrative system har funktioner til at eksportere data og varetage selve dataudvekslingen ved hjælp af kald af en webservice i EASY-P.
Indberetningerne skal ske dagligt. Overførselstidspunkterne for de enkelte institutioner aftales og skemalægges i aftale mellem institutionen og STIL (EASY-P).
Institutionens studieadministrative system skal have funktioner til at forsøge gentagelse af overførslen et nærmere defineret antal gange efter et nærmere defineret tidsrum, såfremt overførslen fejler.
Den enkelte institution eller det enkelte studieadministrative system skal dagligt overvåge eventuelle fejlmeldinger fra dataoverførslen og enten selv afhjælpe eventuelle problemer eller indberette dem til leverandøren af det studieadministrative system, der, hvis nødvendigt, kan indberette disse til STIL's support.
Hvem skal indberette?
Alle institutioner, som administrerer grundforløb og/eller hovedforløb på erhvervsuddannelsesområdet, og som ikke benytter EASY-A.
Hvad skal indberetningen omfatte?
Elever under CØSA's formålsgruppe 01, Erhvervsuddannelser (EUD), og formålsgruppe 02, Erhvervsgymnasiale uddannelser.
Indberetningen omfatter en eller begge af følgende:
- Personer:Alle nyoprettede eller tidligere indberettede (men ændret siden sidst) praktikrelevante personer på skolen. Praktikrelevante personer defineres som personer der er tilknyttet en uddannelse under formålsgruppe 01 (EUD) eller 02 (Erhvervsgymnasiale uddannelser).
- Svendeprøvehold: Alle nyoprettede og tidligere indberettede, men siden ændrede, svendeprøvehold på skolen, der er markeret til indberetning til EASY-P og/eller er på uddannelser, der efter aftale med det ansvarlige faglige udvalg for uddannelsen skal indberettes til EASY-P.
Hvornår skal der indberettes?
Der skal indberettes, når der sker ændringer på enten en person eller et svendeprøvehold. På person-niveau drejer det sig om ændringer (oprettelser, opdateringer, sletninger) på person-, elev-, skoleforløbs- og/eller kvalifikationsplan. På svendeprøve-niveau drejer det sig om ændringer foretaget på selve svendeprøven, holdlisten og/eller prøvedatoer.
Hvis en person slettes i det studieadministrative system, skal dette ligeledes indberettes. Dette gøres ved at lave en indberetning, som kun indeholder informationer i Person-noden ("CPRNummer", "Fornavn", "Efternavn" og "ExtPersGUID") og ikke noget i de underliggende noder (Elev, Skoleforløb og Kvalifikationer).
Hvis et svendeprøvehold slettes i det studieadministrative system, skal dette ligeledes indberettes. Dette gøres ved at lave en indberetning, som kun indeholder informationer i SvendeproeveHold-noden ("Holdnavn", "SidsteSkoleophold", "Startdato", "Slutdato" og "ExtHoldGUID") og ikke noget i de underliggende noder (EleverpaaHold og Proevedatoer).
Data indlæses ikke i EASY-P i forbindelse med indberetningen, men indlæses asynkront. Dvs. data modtages, valideres og gemmes i grænsefladetabeller. Herfra indlæses de modtagne data i produktionstabeller via batchjobs i EASY-P. Hvis der opstår fejl under indlæsningen i EASY-P, adviseres personen/personerne angivet i "KontaktEmail" (som angives i noden Indberetning).
Hvilke oplysninger skal indberettes?
Indberetningerne skal ske via IPL (se afsnittet Webservicen),
Beskrivelserne i afsnit 5 og 6 omhandler kun den indre del af webservicekaldet, som videresendes til EASY-P.
For hver person og/eller svendeprøvehold indberettes hver gang et fuldt billede af skolens registreringer på indberetningstidspunktet, dvs. alle personens elevoplysninger, skoleforløb, kvalifikationer og/eller alle svendeprøveholdets deltagere og prøvedatoer.
Figur 1 illustrerer stukturen i en indberetning:
Figur 1. Skitse af indberetningsstruktur.
I Figur 2 nedenfor er det samlede XML-skema vist. Dette og dets indhold gennemgås detaljeret i afsnit 6, hvor relevante udsnit af skemaet vises og de tilhørende tabeller og deres indhold gennemgås:
- Indberetning gennemgås i afsnittet Indberetning.
- Personoplysninger gennemgås i afsnittet Personoplysninger, og de tilhørende tabeller Elevliste, Skoleforløb og Kvalifikationer gennemgås i de tilhørende underafsnit,
- SvendeprøveHold gennemgås i afsnittet Svendeprøvehold, og de tilhørende tabeller EleverpaaHold og Prøvedatoer gennemgås i de tilhørende underafsnit.
Dette svarer til skitsen i den ovenstående Figur 1 og til det fulde skema i Figur 2. De fremhævede tabelbetegnelser svarer til skemaets betegnelser.
Figur 2. XML Skema.
Hvad skal data i hver tabel indeholde?
Nedenstående figur viser det overordnede billede af indberetningsstrukturen.
Figur 3. Overordnet struktur.
I alle efterfølgende figurer, er der lavet en tilpasning i feltnavne (XML-navnene), således at danske bogstaver (æ, ø, å) omformes til hhv. ae, oe, og aa.
Datoer er altid i følgende format: åååå-mm-dd.
Indberetning
Tabel 1. Indberetning.
Felt | Beskrivelse | Felttype | Lovlige værdier | Obligatorisk | Nøglefelt |
Institution | Den indberettende institutions institutionsnummer, jf. institutionsregistret. | Tal,6 cifre | Institutionsnumre, jf. institutionsregistret | Ja | Ja |
Version | Den version af XML-skemaet, som data forventes at overholde. | Tekst, | 1.2 | Ja | Nej |
System | Navn på det administrative system, der har eksporteret data. | Tekst, 256 tegn | Ja | Nej | |
IndberetningId | Unikt id for indberetningen pr. institution. | Tal, | Ja | Ja | |
KontaktEmail | E-mail på institutionens kontaktperson/ansvarlige. | Tekst, | En eller flere gyldige email- adresser, adskilt af komma | Ja | Nej |
Personoplysninger
For elever gælder, at skolernes praktikkontorer gerne på et så tidligt et tidspunkt som muligt vil kende eleven og dennes grundforløb (hvis et sådant findes).
Det betyder at der skal indberettes:
- Ikke tidligere indberettede elever, der er indmeldt på en uddannelse under formålsgruppe 01 EUD eller 02 Erhv. Gym.
- Tidligere indberettede elever, der er ændret (fsva. oplysninger der er af interesse for EASY-P) siden sidste indberetning.
Figur 4. Personoplysninger.
Tabel 2. Personoplysninger.
Felt | Beskrivelse | Felttype | Lovlige værdier | Obligatorisk | Nøglefelt |
---|---|---|---|---|---|
CPRNummer | Elevens CPR-nummer uden adskillelsestegn. | Tekst,10 tegn | Ja | Ja | |
Fornavn | Elevens fornavn. | Tekst, 50 tegn | Ja | Nej | |
Efternavn | Elevens efternavn. | Tekst,50 tegn | Ja | Nej | |
CONavn | Evt. C/O navn. | Tekst,50 tegn | Nej | Nej | |
Adresse | Elevens adresse. | Tekst, 50 tegn | Nej | Nej | |
Sted | Evt. stednavn. | Tekst, | Nej | Nej | |
Postnr | Elevens postnummer. | Tekst, | Nej | Nej | |
Mobilnummer | Elevens mobilnummer. | Tekst, | Nej | Nej | |
MobilnummerDato | Krævet hvis mobilnummer er udfyldt. Angiver datoen for hvornår mobilnummer sidst er opdateret i det studieadministrative system. | Dato | Datoer | Nej | Nej |
Elevens email-adresse. | Tekst, | Gyldig e-mail adresse | Nej | Nej | |
EmailDato | Krævet, hvis email-adressen er udfyldt. Angiver datoen for seneste opdatering af adressen i det studieadministrative system. | Dato | Datoer | Nej | Nej |
ExtPersGUID | Eksternt ID for personen. | Tekst, | Ja | Nej |
Elevliste
Elevlisten indeholder oplysninger om uddannelser tilknyttet eleven, samt evt. afgangsårsag og -dato. Endvidere er der, hvis en sådan er registreret i SA, tilknyttet en elevtype.
Figur 5. Elevliste.
Tabel 3. Elevoplysninger.
Felt | Beskrivelse | Felttype | Lovlige værdier | Obligatorisk | Nøglefelt |
---|---|---|---|---|---|
Uddannelse | Uddannelse, som eleven er indmeldt på, jf. uddannelsesmodellen | Tal, | CØSA-formål | Ja | Ja |
AfgangsAarsag | Den centralt udmeldte afgangsårsag, som eleven evt. er registreret med i det studieadministrative system. | Tekst, | Afgangsårsager fra CØSA | Nej Hvis Afgangsaarsag er udfyldt, skal Afgangsdato også være udfyldt, og omvendt. Det skal være den dato, eleven er afmeldt. | Nej |
AfgangsDato | Elevens afgangsdato | Dato | Datoer | Nej | Nej |
Tabel 4. Elevtypeoplysninger.
Felt | Beskrivelse | Felttype | Lovlige værdier | Obligatorisk | Nøglefelt |
---|---|---|---|---|---|
Type | Elevtype, jf. uddannelsesmodellen. | Tekst, | Elevtyper | Ja | Ja |
Startdato | Startdato for elevtype på eleven. | Dato | Datoer | Ja | Nej |
Slutdato | Slutdato for elevtype på eleven. | Dato | Datoer | Nej | Nej |
Skoleforløb
Alle skoleforløb for den indberettede elev skal altid indberettes, hvis der er nye, ændrede eller slettede skoleforløb for den enkelte elev.
Ved elever, der deles mellem flere skoler, er det kun den skole der ejer eleven (dvs. som får tilskud for eleven), der skal indberette elevens skoleforløb.
Ved elever, der udlånes, er det kun den institution, eleven er udlånt til, der skal indberette elevens skoleforløb.
Figur 6. Skoleforløb
Tabel 5. Skoleforløb.
Felt | Beskrivelse | Felttype | Lovlige værdier | Obligatorisk | Nøglefelt |
---|---|---|---|---|---|
Uddannelse | CØSA-formål for skoleforløbet, jf. uddannelsesmodellen. | Tal, | CØSA-formål | Ja | Nej |
Version | Version af uddannelsen for skoleforløbet, jf. uddannelsesmodellen. | Tal, | Version af CØSA-formål | Ja | Nej |
Speciale | Speciale for skoleforløbet, jf. uddannelsesmodellen. | Tekst, | Specialer jf. CØSA-formål og version | Nej | Nej |
Skoleperiode | Skoleperiode for skoleforløbet, jf. uddannelsesmodellen. | Tekst, | Skoleperioder under version og speciale | Ja | Nej |
StartDato | Elevens startdato for skoleforløbet, dvs. elevens første dag. | Dato | Datoer | Ja | Nej |
SlutDato | Elevens slutdato for skoleforløbet, dvs. elevens sidste dag på skoleforløbet. | Dato | Datoer | Ja | Nej |
ExtSkoleGUID | Eksternt Id for skoleforløbet. | Tekst, | Ja | Nej |
Kvalifikationer
Alle elevens kvalifikationer til hovedforløb, som er opnået på den indberettende institution, skal indberettes.
- Såfremt eleven har kvalificeret sig til alle specialer under uddannelsen, indberettes der kun én kvalifikation på uddannelsen, uden angivelse af speciale.
- Såfremt eleven kun har kvalificeret sig til nogle af specialerne under uddannelsen, indberettes der en kvalifikation pr. speciale, som eleven har kvalificeret sig til.
Figur 7. Kvalifikationer til hovedforløb.
Tabel 6. Kvalifikationer til hovedforløb.
Felt | Beskrivelse | Felttype | Lovlige værdier | Obligatorisk | Nøglefelt |
---|---|---|---|---|---|
Uddannelse | CØSA-formål for kvalifikationen | Tal, | CØSA-formål, jf. udd.-modellen | Ja | Nej |
Version | Version af uddannelsen for kvalifikationen | Tal, | Version af CØSA-formålet jf. udd.-modellen | Ja | Nej |
Speciale | Speciale for kvalifikationen. | Tekst, | Specialer jf. CØSA-formål og version (i henhold til udd-modellen) | Nej | Nej |
Dato | Dato for opnåelse af kvalifikation. | Dato | Datoer | Ja | Nej |
BrugerId | Evt. brugerId på den bruger, der har dannet kvalifikationen. | Tekst,50 tegn | Nej | Nej | |
ExtKvaliGUID | Eksternt Id for kvalifikation. | Tekst, | Ja | Nej |
Svendeprøvehold
Svendeprøvehold skal indberettes, hvis der er nye, ændrede eller slettede hold, inkl. ændringer i elever på holdet eller i prøvedatoer. Alle oplysninger om svendeprøveholdet inkl. alle elever på holdet og alle prøvedatoer skal indberettes, hver gang holdet indberettes.
Svendeprøvehold er det hold, eleverne er placeret på i forbindelse med afholdelsen af svendeprøven, dvs. typisk det sidste hold eller det hold, der er markeret som afsluttende/sidste skoleophold. Hvorvidt svendeprøvehold skal indberettes, aftales med det faglige udvalg, der har ansvaret for de uddannelser holdet eller eleverne på holdet er tilknyttet.
Hvis et svendeprøvehold slettes i SA, skal SA sende et "tomt" svendeprøvehold til EASY-P, dvs. en indberetning uden hverken elever på holdet eller svendeprøvedatoer.
Ved indlæsning vil EASY-P slette det svendeprøvehold med den ExtHoldGUID, som svarer til det modtage "tomme" hold.
Figur 8. Svendeprøvehold.
Tabel 7. Svendeprøvehold.
Felt | Beskrivelse | Felttype | Lovlige værdier | Obligatorisk | Nøglefelt |
---|---|---|---|---|---|
Holdnavn | Holdnavn. Entydigt i sammenhæng med det indberettende institutionsnummer. | Tekst, | Ja | Ja | |
Betegnelse | Betegnelse for holdet. | Tekst, | Nej | Nej | |
Startdato | Holdets startdato. | Dato | Datoer | Ja | Nej |
Slutdato | Holdets slutdato. | Dato | Datoer | Ja | Nej |
Skoleophold | Evt. skoleophold. | Tekst, 4 tegn | "GF", "H1", "H2","H3" eller "H4" | Nej | Nej |
SidsteSkoleophold | Er det sidste skoleophold? | Tekst, | "J" eller "N" | Ja | Nej |
BrugerId | Initialer/id på SA-bruger der har oprettet/ændret holdet. | Tekst, | Nej | Nej | |
ExtHoldGUID | Ægte UUID for svendeprøveholdet, jf. https://en.wikipedia.org/wiki/Universally_unique_identifier. Skal være globalt unik for alle svendeprøvehold og skal være den samme for alle indberetninger af samme hold. | Tekst, | Ja | Nej |
Elever på Hold
Indeholder deltagere på holdet.
Figur 9. Elevliste.
Tabel 8. ElevpaaHold.
Felt | Beskrivelse | Felttype | Lovlige værdier | Obligatorisk | Nøglefelt | |
---|---|---|---|---|---|---|
CPRNummer | Elevens CPR-nummer. | Tekst, | Gyldigt CPR-nummer. For elever uden dansk CPR-nr. kan fiktivt CPR-nr. godtages. Et fiktivt CPR skal begynde med 6, 7, 8 eller 9.Når man trækker 6 fra det første ciffer, skal de 6 første tegn stadig give en gyldig dato. | Ja | Ja | |
Uddannelse | Elevens uddannelse, jf. uddannelsesmodellen. | Tekst, | CØSA-formål | ja | Nej | |
Version | Uddannelsens version, jf. uddannelsesmodellen. | Tekst, | Version af CØSA-formål | Ja | Nej | |
Speciale | Elevens speciale på holdet, jf. uddannelsesmodellen. | Tekst, | Specialer jf. CØSA-formål og version | Nej | Nej | |
Startdato | Elevens startdato på holdet. | Dato | Datoer | Ja | Nej | |
Slutdato | Elevens slutdato på holdet. | Dato | Datoer | Ja | Nej | |
Fornavn | Elevens fornavn. | Tekst, 50 tegn | Ja | Nej | ||
Efternavn | Elevens efternavn. | Tekst,50 tegn | Ja | Nej | ||
Adresse | Elevens adresse – gade og husnummer. | Tekst, 50 tegn | Nej | Nej | ||
Sted | Evt. stednavn. | Tekst, | Nej | Nej | ||
Postnr | Elevens postnummer. | Tekst, | Nej | Nej |
Prøvedatoer
Alle prøvedatoer skal indberettes, hvis der er nye, ændrede eller slettede svendeprøvedatoer for det enkelte svendeprøvehold.
Regler for prøvedatoer:
- Svendeprøvedatoer skal ligge i svendeprøveholdets periode.
- Prøvedatoer skal være unikke inden for svendeprøveholdets periode (start og slutdato).
Figur 10. Prøvedatoer.
Tabel 9. Svendeprøvedatoer.
Felt | Beskrivelse | Felttype | Lovlige værdier | Obligatorisk | Nøglefelt |
---|---|---|---|---|---|
ProeveDato | Svendeprøvedato. | Dato | Gyldige datoer i svendeprøveholdets datointerval | Ja | Nej |
Skuemester | Skal der udpeges skuemester? | Tekst, | "J", "N" | Ja | Nej |
Lokation | Prøvens lokation. | Tekst, | Nej | Nej | |
LokationAdresse | Adresse – gade og husnummer. | Tekst,50 tegn | Nej | Nej | |
LokationSted | Adresse – stednavn. | Tekst,50 tegn | Nej | Nej | |
LokationPostnr | Adresse – postnummer. | Tekst, | Gyldigt dansk post nummer | Nej | Nej |
LokationTlf | Lokationens telefonnummer. | Tekst, | Nej | Nej | |
Evalueringsform | Prøvens evalueringsform. | Tekst,3 tegn | Evalueringsformer jf. CØSA. | Ja | Nej |
Kommentar | Evt. kommentar. | Tekst, | Nej | Nej |
Fejlhåndtering
Hvis der opstår en fejl i forbindelse med indberetningen, vil der blive returneret en fejlmeddelelse. Hvis en person har mere end en fejl i de forskellige step, vil alle fejlbeskeder blive vist. Er en person hhv. et svendeprøvehold modtaget korrekt, returneres fejlkode 0 på personen/holdet.
Hvis der i forbindelse med indberetningen returneres fejl på en eller flere personer eller hold i samme indberetning, skal det studieadministrative system have faciliteter til at gensende disse oplysninger, efter at (data-)fejlen er rettet i det studieadministrative system.
Hvis der tilsvarende opstår fejl i forbindelse med indlæsningen af de indberettede data i EASY-P, skal det studieadministrative system kunne gensende de fejlede data.
Figur 11. fejl (Error).
Tabel 10. Fejl (Error).
Felt | Beskrivelse | Felttype | ||
---|---|---|---|---|
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="7bb63b5c-cc56-4431-b959-ee47f7343a5d"><ac:plain-text-body><![CDATA[ | ErrorNode | Beskrivelse af, hvor felt/tag kommer fra, fx /ParameterList/Indberetning/HoldListe/SvendeproeveHold[2]. | Tekst 255 | ]]></ac:plain-text-body></ac:structured-macro> |
ErrorCode | Fejlnummer. | Tekst 50 | ||
ErrorText | Beskrivelse af fejlen. | Tekst 500 |
Eksempel på fejlmeddelelser
Der vil kunne forekommer yderligere fejlmeddelelser end dem, som er vist herunder.
Tabel 11. Eksempler på fejlmeddelelser.
Fejlkode | Tekst på fejl |
---|---|
WS_118 | Uddannelse findes ikke. |
WS_119 | Speciale findes ikke på den angivne version af uddannelsen. |
WS_123 | Dato er ikke korrekt angivet. Skal være i formatet åååå-mm-dd. |
WS_135 | CPR-nummer skal angives. |
WS_136 | CPR-nummeret er ikke validt. |
Webservicen
Webservicen kaldes via STIL’s integrationsplatform, IPL.
Integrationsplatformen er en platform, som understøtter udveksling af data mellem STIL's centrale systemer og eksterne systemer. IPL anvendes af uddannelsesinstitutioner, myndigheder og organisationer på førskole-, grundskole-, ungdomsuddannelses-, voksen- og efteruddannelsesområdet. Platformen tilbyder ensartede webservices for indberetning til og afhentning af data fra STIL's centrale systemer inkl. autentificering, autorisering og logning af hændelser i forbindelse med dataudvekslingen. IPL er en ren infrastrukturkomponent, og har ingen brugergrænseflade, ligesom den ikke opbevarer data. Platformen understøtter, at systemleverandører, blandt andet leverandører af studieadministrative systemer på de ovennævnte uddannelsesområder, kan udveksle data med STIL's systemer på en institutions vegne på en ensartet, transparent og sikker måde.
Yderligere oplysninger om tilslutning og tekniske detaljer kan findes på STIL’s support-site: https://viden.stil.dk/display/OFFintegrationsplatformen.
Endpoints til webservicen:
- Produktion: https://integrationsplatformen.dk/services/EASYP/ElevIndberetningService/v1.0
- Test: https://et.integrationsplatformen.dk/services/EASYP/ElevIndberetningService/v1.0
Operation/metode
Tjenesten består operationen/metoden WSCallEasyA. Denne operation er den korrekte måde at overføre XML-data til EASY-P-indberetningen på.
Tabel 12. Parametre.
Felt | Beskrivelse | Felttype | Lovlige værdier | Obligatorisk | Nøglefelt |
---|---|---|---|---|---|
ModulNummer | Nummeret på modulet | Tekst | P007 | Ja | Ja |
dsNr | Institionsnummeret | Tal, | Ja | Nej | |
ParameterList | XML indeholdende data | Tekst | Ja | Nej | |
Version | Version på service | Tal, | 1 | Ja | Nej |
AdgangsKode | Den tildelte adgangskode for institutionen | Tekst,50 tegn | Ja | Nej |
Yderligere detaljer fremgår af Bilag 3. Eksempel på soap request.
Udviklingsværktøjer
Webservicen er udviklet i PL/SQL og kan umiddelbart tilgås i web-browser ved at tilføje WSDL som service reference.
Følgende gratis udviklingsværktøjer kan anbefales til test og debugging:
- soupUI (http://www.soapui.org/) – kan bl.a. oprette soap requests, der kan sendes mod webservicen.
- Fiddler (http://www.fiddler2.com/fiddler2/) – analyserer webservicekald og -svar.
Bilag 3, 4 og 5 er eksempler på hhv. soap request, tilhørende soap response og tilhørende soap error response, når XML-data i bilag 1 anvendes.
Bilag 1. Eksempel på valide XML-data
<ParameterList> <Indberetning> <Institution>791418</Institution> <Version>1.2</Version> <System>Lectio</System> <IndberetningId>19019901182736729712380972374</IndberetningId> <KontaktEmail>he@mom.dk</KontaktEmail> <PersonListe> <Person> <CPRnummer>1304000031</CPRnummer> <Fornavn>teststud</Fornavn> <Efternavn>testefternavn</Efternavn> <ExtPersGUID>21300368892</ExtPersGUID> <ElevListe> <Elev> <Uddannelse>1390</Uddannelse> <Elevtype> <Type>EUV2X</Type> <StartDato>2016-09-21</StartDato> <SlutDato>2016-12-10</SlutDato> </Elevtype> </Elev> </ElevListe> <KvalifikationsListe> <Kvalifikation> <Uddannelse>1390</Uddannelse> <Version>7</Version> <Speciale>1</Speciale> <Dato>2016-10-20</Dato> <ExtKvaliGUID>SF21300368898</ExtKvaliGUID> </Kvalifikation> <Kvalifikation> <Uddannelse>1390</Uddannelse> <Version>7</Version> <Speciale>1</Speciale> <Dato>2016-10-20</Dato> <ExtKvaliGUID>F21300368898</ExtKvaliGUID> </Kvalifikation> </KvalifikationsListe> </Person> </PersonListe> <HoldListe> <SvendeproeveHold> <Holdnavn>Tata</Holdnavn> <Startdato>2015-01-01</Startdato> <Slutdato>2016-01-01</Slutdato> <SidsteSkoleophold>N</SidsteSkoleophold> <ExtHoldGUID>GUID1</ExtHoldGUID> <Elevliste> <ElevpaaHold> <CPRNummer>0909000060</CPRNummer> <Uddannelse>1390</Uddannelse> <Version>7</Version> <Speciale>1</Speciale> <Startdato>2017-06-05</Startdato> <Slutdato>2017-06-09</Slutdato> <Fornavn>Michael</Fornavn> <Efternavn>Herold</Efternavn> </ElevpaaHold> <ElevpaaHold> <CPRNummer>0909000061</CPRNummer> <Uddannelse>1390</Uddannelse> <Version>7</Version> <Speciale>1</Speciale> <Startdato>2017-06-05</Startdato> <Slutdato>2017-06-09</Slutdato> <Fornavn>Michael</Fornavn> <Efternavn>Herold</Efternavn> </ElevpaaHold> <ElevpaaHold> <CPRNummer>0909000062</CPRNummer> <Uddannelse>1390</Uddannelse> <Version>7</Version> <Speciale>1</Speciale> <Startdato>2017-06-05</Startdato> <Slutdato>2017-06-09</Slutdato> <Fornavn>Michael</Fornavn> <Efternavn>Herold</Efternavn> </ElevpaaHold> <ElevpaaHold> <CPRNummer>0401000026</CPRNummer> <Uddannelse>1390</Uddannelse> <Version>7</Version> <Startdato>2016-06-05</Startdato> <Slutdato>2017-06-09</Slutdato> <Fornavn>Michael2</Fornavn> <Efternavn>Herold2</Efternavn> </ElevpaaHold> </Elevliste> </SvendeproeveHold> <SvendeproeveHold> <Holdnavn>Tata</Holdnavn> <Startdato>2015-01-01</Startdato> <Slutdato>2016-01-01</Slutdato> <SidsteSkoleophold>N</SidsteSkoleophold> <ExtHoldGUID>GUID2</ExtHoldGUID> <Elevliste> <ElevpaaHold> <CPRNummer>0909000060</CPRNummer> <Uddannelse>1390</Uddannelse> <Version>7</Version> <Speciale>1</Speciale> <Startdato>2017-06-05</Startdato> <Slutdato>2017-06-09</Slutdato> <Fornavn>Michael</Fornavn> <Efternavn>Herold</Efternavn> </ElevpaaHold> <ElevpaaHold> <CPRNummer>0401000026</CPRNummer> <Uddannelse>1390</Uddannelse> <Version>7</Version> <Startdato>2017-06-05</Startdato> <Slutdato>2017-06-09</Slutdato> <Fornavn>Michael2</Fornavn> <Efternavn>Herold2</Efternavn> </ElevpaaHold> </Elevliste> <Proevedatoer> <Proevedato> <Proevedato>2015-05-06</Proevedato> <Skuemester>J</Skuemester> <Lokation>Rentemestervaj</Lokation> <LokationAdresse>Bonderød</LokationAdresse> <LokationSted>Karise</LokationSted> <LokationPostnr>4653</LokationPostnr> <LokationTlf>111111111</LokationTlf> <Evalueringsform>ORA</Evalueringsform> <Kommentar>Bla bla</Kommentar> </Proevedato> </Proevedatoer> </SvendeproeveHold> </HoldListe> </Indberetning> </ParameterList>
Bilag 2. XSD for ParameterList
XML'en i "ParameterList" skal valideres mod følgende XSD:
<!-- edited with XMLSpy v2017 sp2 (x64) (http://www.altova.com) by KMD A/S (KMD A/S) --> | N"/> | N"/> |
Bilag 3. Eksempel på soap request
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:eas="EasyIEasyWV13"> <soapenv:Header/> <soapenv:Body> <eas:WSCallEasyA soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <modulNummer xsi:type="xsd:string">P007</modulNummer> <dsNr xsi:type="xsd:string">999999</dsNr> <parameterList xsi:type="xsd:string "><!\[CDATA\[ <ParameterList> <Indberetning> <Institution>173410</Institution> <Version>1.2</Version> <System>Lectio</System> <IndberetningId>1234578901234567890123456789012345678901234567</IndberetningId> <KontaktEmail>her@tata.dk</KontaktEmail> <PersonListe> <Person> <CPRnummer>1212560101</CPRnummer> <Fornavn>Test </Fornavn> <Efternavn>Olsen</Efternavn> <Email>xxx@kmd.dk</Email> <EmailDato>2017-06-07</EmailDato> <ExtPersGUID>1234M</ExtPersGUID> <ElevListe> <Elev> <Uddannelse>1770</Uddannelse> <Elevtype> <Type>EU9</Type> <StartDato>2016-09-20</StartDato> <SlutDato>2016-12-10</SlutDato> </Elevtype> <Elevtype> <Type>EUV2</Type> <StartDato>2015-09-21</StartDato> <SlutDato>2015-12-10</SlutDato> </Elevtype> </Elev> <Elev> <Uddannelse>1770</Uddannelse> <Elevtype> <Type>EU9</Type> <StartDato>2015-09-21</StartDato> <SlutDato>2016-12-10</SlutDato> </Elevtype> <Elevtype> <Type>EUV2</Type> <StartDato>2014-09-21</StartDato> <SlutDato>2015-12-10</SlutDato> </Elevtype> </Elev> </ElevListe> </Person> <Person> <CPRnummer>1907790031</CPRnummer> <Fornavn>Fru xxxyz</Fornavn> <Efternavn>Jensen</Efternavn> <ExtPersGUID>21300368892</ExtPersGUID> <ElevListe> <Elev> <Uddannelse>1770</Uddannelse> <Elevtype> <Type>EU9</Type> <StartDato>2016-09-21</StartDato> <SlutDato>2016-12-10</SlutDato> </Elevtype> <Elevtype> <Type>EUV2</Type> <StartDato>2015-09-21</StartDato> <SlutDato>2015-12-15</SlutDato> </Elevtype> </Elev> </ElevListe> <SkoleforloebsListe> <Skoleforloeb> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Skoleperiode>2S</Skoleperiode> <Startdato>2016-09-21</Startdato> <Slutdato>2016-10-20</Slutdato> <ExtSkoleGUID>SFM21300368898</ExtSkoleGUID> </Skoleforloeb> <Skoleforloeb> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Skoleperiode>2S</Skoleperiode> <Startdato>2016-10-21</Startdato> <Slutdato>2016-12-10</Slutdato> <ExtSkoleGUID>SFM21300368906</ExtSkoleGUID> </Skoleforloeb> </SkoleforloebsListe> <KvalifikationsListe> <Kvalifikation> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Dato>2016-10-20</Dato> <ExtKvaliGUID>SFM21300368898</ExtKvaliGUID> </Kvalifikation> <Kvalifikation> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Dato>2016-12-31</Dato> <ExtKvaliGUID>SFMX21300368898</ExtKvaliGUID> </Kvalifikation> </KvalifikationsListe> </Person> </PersonListe> <HoldListe/> </Indberetning> </ParameterList> ]]> </parameterList> <version xsi:type="xsd:string">1</version> <adgangsKode xsi:type="xsd:string">1234</adgangsKode> </eas:WSCallEasyA> </soapenv:Body> </soapenv:Envelope>
Bilag 4. Eksempel på soap response uden fejl
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <ns1:WSCallEasyAResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="EasyIEasyWV13"> <return xsi:type="xsd:string"> <!\[CDATA\[ <Result><TimeStamp>2017-07-11T16:55:25</TimeStamp><ParameterList> <Indberetning> <Institution>173410</Institution> <Version>1.2</Version> <System>Lectio</System> <IndberetningId>1234578901234567890123456789012345678901234567</IndberetningId> <KontaktEmail>her@tata.dk</KontaktEmail> <PersonListe> <Person> <CPRnummer>1212560101</CPRnummer> <Fornavn>Test </Fornavn> <Efternavn>Olsen</Efternavn> <Email>xxx@kmd.dk</Email> <EmailDato>2017-06-07</EmailDato> <ExtPersGUID>1234M</ExtPersGUID> <ElevListe> <Elev> <Uddannelse>1770</Uddannelse> <Elevtype> <Type>EU9</Type> <StartDato>2016-09-20</StartDato> <SlutDato>2016-12-10</SlutDato> </Elevtype> <Elevtype> <Type>EUV2</Type> <StartDato>2015-09-21</StartDato> <SlutDato>2015-12-10</SlutDato> </Elevtype> </Elev> <Elev> <Uddannelse>1770</Uddannelse> <Elevtype> <Type>EU9</Type> <StartDato>2015-09-21</StartDato> <SlutDato>2016-12-10</SlutDato> </Elevtype> <Elevtype> <Type>EUV2</Type> <StartDato>2014-09-21</StartDato> <SlutDato>2015-12-10</SlutDato> </Elevtype> </Elev> </ElevListe> </Person> <Person> <CPRnummer>1907790031</CPRnummer> <Fornavn>Fru xxxyz</Fornavn> <Efternavn>Jensen</Efternavn> <ExtPersGUID>21300368892</ExtPersGUID> <ElevListe> <Elev> <Uddannelse>1770</Uddannelse> <Elevtype> <Type>EU9</Type> <StartDato>2016-09-21</StartDato> <SlutDato>2016-12-10</SlutDato> </Elevtype> <Elevtype> <Type>EUV2</Type> <StartDato>2015-09-21</StartDato> <SlutDato>2015-12-15</SlutDato> </Elevtype> </Elev> </ElevListe> <SkoleforloebsListe> <Skoleforloeb> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Skoleperiode>2S</Skoleperiode> <Startdato>2016-09-21</Startdato> <Slutdato>2016-10-20</Slutdato> <ExtSkoleGUID>SFM21300368898</ExtSkoleGUID> </Skoleforloeb> <Skoleforloeb> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Skoleperiode>2S</Skoleperiode> <Startdato>2016-10-21</Startdato> <Slutdato>2016-12-10</Slutdato> <ExtSkoleGUID>SFM21300368906</ExtSkoleGUID> </Skoleforloeb> </SkoleforloebsListe> <KvalifikationsListe> <Kvalifikation> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Dato>2016-10-20</Dato> <ExtKvaliGUID>SFM21300368898</ExtKvaliGUID> </Kvalifikation> <Kvalifikation> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Dato>2016-12-31</Dato> <ExtKvaliGUID>SFMX21300368898</ExtKvaliGUID> </Kvalifikation> </KvalifikationsListe> </Person> </PersonListe> <HoldListe/> </Indberetning> </ParameterList> <DSNumber>999878</DSNumber><Version>4</Version><P007Result><ErrorList> <Error> <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="ea53b992-357f-40f0-9825-4b695a5336cd"><ac:plain-text-body><![CDATA[ <ErrorNode>/ParameterList/Indberetning/PersonListe/Person[1]</ErrorNode> ]]></ac:plain-text-body></ac:structured-macro> <ErrorCode>WS_0</ErrorCode> <ErrorText>Data modtaget succesfuldt</ErrorText> </Error> <Error> <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a008b633-badd-409f-84e2-929d3eb1f2d4"><ac:plain-text-body><![CDATA[ <ErrorNode>/ParameterList/Indberetning/PersonListe/Person[2]</ErrorNode> ]]></ac:plain-text-body></ac:structured-macro> <ErrorCode>WS_0</ErrorCode> <ErrorText>Data modtaget succesfuldt</ErrorText> </Error> </ErrorList> </P007Result></Result> ]]></return> </ns1:WSCallEasyAResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Bilag 5. Eksempel på soap error response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <ns1:WSCallEasyAResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="EasyIEasyWV13"> <return xsi:type="xsd:string "><!\[CDATA\[ <Result><TimeStamp>2017-07-11T17:09:22</TimeStamp><ParameterList> <Indberetning> <Institution>173410</Institution> <Version>1.2</Version> <System>Lectio</System> <IndberetningId>12345901234567890123456789012345678901234567</IndberetningId> <KontaktEmail>her@tata.dk</KontaktEmail> <PersonListe> <Person> <CPRnummer>1212560101</CPRnummer> <Fornavn>Test </Fornavn> <Efternavn>Olsen</Efternavn> <Email>xxx@kmd.dk</Email> <EmailDato>2017-06-07</EmailDato> <ExtPersGUID>1234M</ExtPersGUID> <ElevListe> <Elev> <Uddannelse>1770</Uddannelse> <Elevtype> <Type>XU9</Type> <StartDato>2016-09-20</StartDato> <SlutDato>2016-12-10</SlutDato> </Elevtype> <Elevtype> <Type>EUV2</Type> <StartDato>2015-09-21</StartDato> <SlutDato>2015-12-10</SlutDato> </Elevtype> </Elev> <Elev> <Uddannelse>770</Uddannelse> <Elevtype> <Type>EU9</Type> <StartDato>2015-09-21</StartDato> <SlutDato>2016-12-10</SlutDato> </Elevtype> <Elevtype> <Type>EUV2</Type> <StartDato>2014-09-21</StartDato> <SlutDato>2015-12-10</SlutDato> </Elevtype> </Elev> </ElevListe> </Person> <Person> <CPRnummer>3907790031</CPRnummer> <Fornavn>Fru xxxyz</Fornavn> <Efternavn>Jensen</Efternavn> <ExtPersGUID>21300368892</ExtPersGUID> <ElevListe> <Elev> <Uddannelse>1770</Uddannelse> <Elevtype> <Type>EU9</Type> <StartDato>2016-09-21</StartDato> <SlutDato>2016-12-10</SlutDato> </Elevtype> <Elevtype> <Type>EUV2</Type> <StartDato>2015-09-21</StartDato> <SlutDato>2015-12-15</SlutDato> </Elevtype> </Elev> </ElevListe> <SkoleforloebsListe> <Skoleforloeb> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Skoleperiode>2S</Skoleperiode> <Startdato>2016-09-21</Startdato> <Slutdato>2016-10-20</Slutdato> <ExtSkoleGUID>SFM21300368898</ExtSkoleGUID> </Skoleforloeb> <Skoleforloeb> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Skoleperiode>2S</Skoleperiode> <Startdato>2016-10-21</Startdato> <Slutdato>2016-12-10</Slutdato> <ExtSkoleGUID>SFM21300368906</ExtSkoleGUID> </Skoleforloeb> </SkoleforloebsListe> <KvalifikationsListe> <Kvalifikation> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Dato>2016-10-20</Dato> <ExtKvaliGUID>SFM21300368898</ExtKvaliGUID> </Kvalifikation> <Kvalifikation> <Uddannelse>1770</Uddannelse> <Version>2</Version> <Speciale>1</Speciale> <Dato>2016-12-31</Dato> <ExtKvaliGUID>SFMX21300368898</ExtKvaliGUID> </Kvalifikation> </KvalifikationsListe> </Person> </PersonListe> <HoldListe/> </Indberetning> </ParameterList> <DSNumber>999878</DSNumber><Version>4</Version><P007Result><ErrorList> <Error> <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="8c58fe9f-a388-4807-8c2d-f713a57ae3e3"><ac:plain-text-body><![CDATA[ <ErrorNode>/ParameterList/Indberetning/PersonListe/Person[1]/ElevListe/Elev[1]/Elevtype[1]/Type</ErrorNode> ]]></ac:plain-text-body></ac:structured-macro> <ErrorCode>WS_180</ErrorCode> <ErrorText>Elevtype tilhører ikke uddannelsen </ErrorText> </Error> <Error> <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="286e1cdb-9af5-4f45-b5e7-3a977167ac8c"><ac:plain-text-body><![CDATA[ <ErrorNode>/ParameterList/Indberetning/PersonListe/Person[1]/ElevListe/Elev[2]/Uddannelse</ErrorNode> ]]></ac:plain-text-body></ac:structured-macro> <ErrorCode>WS_118</ErrorCode> <ErrorText>Uddannelse findes ikke. </ErrorText> </Error> <Error> <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6f9ada57-d844-4aba-8eab-fad1912f3a6a"><ac:plain-text-body><![CDATA[ <ErrorNode>/ParameterList/Indberetning/PersonListe/Person[1]/ElevListe/Elev[2]/Elevtype[1]/Type</ErrorNode> ]]></ac:plain-text-body></ac:structured-macro> <ErrorCode>WS_180</ErrorCode> <ErrorText>Elevtype tilhører ikke uddannelsen </ErrorText> </Error> <Error> <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6867cb2f-7975-42f8-b03d-0fc420b559b6"><ac:plain-text-body><![CDATA[ <ErrorNode>/ParameterList/Indberetning/PersonListe/Person[1]/ElevListe/Elev[2]/Elevtype[2]/Type</ErrorNode> ]]></ac:plain-text-body></ac:structured-macro> <ErrorCode>WS_180</ErrorCode> <ErrorText>Elevtype tilhører ikke uddannelsen </ErrorText> </Error> <Error> <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="11c0f07f-bc73-4762-8de6-30931c229a56"><ac:plain-text-body><![CDATA[ <ErrorNode>/ParameterList/Indberetning/PersonListe/Person[2]/CPRnummer</ErrorNode> ]]></ac:plain-text-body></ac:structured-macro> <ErrorCode>WS_136</ErrorCode> <ErrorText>CPR-nummeret er ikke validt. </ErrorText> </Error> </ErrorList> </P007Result></Result> ]]></return> </ns1:WSCallEasyAResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>