Dokumentoplysninger
Indhold
Indledning
Dette dokument beskriver kort webservicen tilhørende AMU-indberetningen til Datavarehuset (herefter Webservicen).
Dokumentet er revideret i januar 2020 med oplysninger om kald af webservicen via IP-Ung.
Webservicen er udviklet og driftes af Styrelsen for It og Læring. Indholdet er beskrevet i dokumentet "Indberetningsstruktur for AMU-indberetning til Datavarehuset".
I de følgende afsnit introduceres kald til webservicen, og i afsnit 6 findes en kort introduktion til nyttige værktøjer
Kontakt Webservicen
Testmiljø
Webservicen findes i et testmiljø. Servicebeskrivelsen findes på denne adresse: https://test-data.stil.dk/AmuIndberetning/UploadService.svc?SingleWSDL.
Webservicen udstiller blandt andet en simpel HelloWorld-metode, der blot returnerer "Hello World". Det anbefales at foretage den første test mod denne metode.
Kald til webservicen er beskyttet af brugernavn og adgangskode. Se Bilag 2 for en guide til at sætte brugernavn og adgangskode i SoapUI.
Det anbefales at nye brugere tester via IP-Ungs testmiljø, hvor servicebeskrivelsen findes på adressen https://ws01.ung.stil.dk/services/DVH/AMU/v1.0/?wsdl. Se afsnit 2.2 nedenfor, hvor IP-Ung er nærmere beskrevet.
Produktionsmiljø
Webservicen kaldes via STIL's integrationsplatform IP-Ung. IP-Ung er en integrationsplatform, som understøtter udveksling af data mellem STIL's centrale systemer og eksterne systemer. IP-Ung anvendes af uddannelsesinstitutioner, myndigheder og organisationer på førskole-, grundskole-, ungdomsuddannelses-, voksen- og efteruddannelsesområdet.
Platformen tilbyder ensartede webservices for indberetning til og hentning af data fra STIL's centrale systemer inkl. autentificering, autorisering og logning af hændelser i forbindelse med dataudvekslingen. IP-Ung 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 supportsite via https://viden.stil.dk/x/KgAGAQ.
Servicebeskrivelsen findes på: https://ws03.ung.stil.dk/services/DVH/AMU/v1.0/?wsdl.
Webservicens Get-metoder
Webservicen udstiller en række Get-metoder, som kort beskrives nedenfor.
GetXmlSchema
Denne metode returnerer det aktuelle schema, som XML-data forventes at over-holde, når der overføres data fra de administrative systemer til webservicen.
Det anbefales, at leverandøren altid sikrer sig, at XML-data overholder det schema, der udstilles via GetXmlSchema, og validerer XML-data lokalt (i klienten) mod schemaet før overførelse til webservicen.
GetXmlSchema returnerer schemaet i XML-format.
Datavalidering
ValidateXmlAgainstSchema
Denne metode validerer overførte XML-data mod det aktuelle schema. Der returneres et ValidateXmlAgainstSchemaResult som resultat af valideringen. Hvis valideringen ikke finder fejl, vil ErrorCount være 0. Ellers vil ErrorCount være større end 0, og der vil være en liste af ValidationError-elementer med fejlmeddelser. Fejlmeddelelserne er henvendt til udviklere og lister .Net-fejlmeddelelsen samt den linje i XML-filen, der fejler i forhold til schemaet.
ValidateXmlAgainstSchema har alene til formål at teste XML-data mod det aktuelle schema og er en hjælp til udvikling af XML-eksport i de administrative systemer.
Se Bilag 1 for eksempel på XML-data, der overholder det aktuelle schema og returnerer et OK-svar.
Eksempel på OK-svar
<ValidateXmlAgainstSchemaResponse xmlns="http://www.stil.dk/AmuDvh"> <ValidateXmlAgainstSchemaResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <ErrorCount>0</ErrorCount> <Message>Data blev modtaget og valideret korrekt.</Message> <ValidationErrors/> </ValidateXmlAgainstSchemaResult> </ValidateXmlAgainstSchemaResponse>
Eksempel på Fejl-svar
<ValidateXmlAgainstSchemaResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <ErrorCount>4</ErrorCount> <Message>Der er 4 valideringsfejl</Message> <ValidationErrors> <ExtendedValidationError> <ErrorHoldId i:nil="true"/> <ErrorLocation i:nil="true"/> <ErrorMessage>Linje: 15 udløser fejlen: \[Elementet 'http://www.stil.dk/AmuIndberetning/:Koen' er ugyldigt - Værdien 'F' er ugyldig ifølge sin datatype 'http://www.stil.dk/AmuIndberetning/:KoenType' - Strengen 'F' er ikke en gyldig Int32-værdi..\]</ErrorMessage> <ErrorPersonId i:nil="true"/> <ErrorType>XmlValidation</ErrorType> </ExtendedValidationError> <ExtendedValidationError> <ErrorHoldId i:nil="true"/> <ErrorLocation i:nil="true"/> <ErrorMessage>Linje: 24 udløser fejlen: \[Elementet 'http://www.stil.dk/AmuIndberetning/:Uvm_fag' er ugyldigt - Værdien '1287b' er ugyldig ifølge sin datatype 'http://www.stil.dk/AmuIndberetning/:FagType' - Strengen '1287b' er ikke en gyldig Integer-værdi..\]</ErrorMessage> <ErrorPersonId i:nil="true"/> <ErrorType>XmlValidation</ErrorType> </ExtendedValidationError> <ExtendedValidationError> <ErrorHoldId i:nil="true"/> <ErrorLocation i:nil="true"/> <ErrorMessage>Linje: 31 udløser fejlen: \[Elementet 'http://www.stil.dk/AmuIndberetning/:Varighed' er ugyldigt - Værdien '47,3' er ugyldig ifølge sin datatype 'Decimal' - Strengen '47,3' er ikke en gyldig Decimal-værdi..\]</ErrorMessage> <ErrorPersonId i:nil="true"/> <ErrorType>XmlValidation</ErrorType> </ExtendedValidationError> <ExtendedValidationError> <ErrorHoldId i:nil="true"/> <ErrorLocation i:nil="true"/> <ErrorMessage>Linje: 21 udløser fejlen: \[Valideringen af identitetsbegrænsningen 'http://www.stil.dk/AmuIndberetning/:FkbMaalKey' mislykkedes. Enten mangler der en nøgle, eller den eksisterende nøgle har en tom node.\]</ErrorMessage> <ErrorPersonId i:nil="true"/> <ErrorType>XmlValidation</ErrorType> </ExtendedValidationError> </ValidationErrors> </ValidateXmlAgainstSchemaResult> <ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="a61b3b7f-4c93-4fc9-b33f-afb031434773"><ac:parameter ac:name="">_Toc31185177</ac:parameter></ac:structured-macro>
Overførsel af data
UploadData
Denne metode anvendes til at overføre data, der skal indberettes. Der valideres mod det aktuelle schema, som ved anvendelse af metoden ValidateXmlAgainstSchema beskrevet i afsnit 4.1. Derudover foretages krydsvalideringer i indberetningen (fx startdatoer mod slutdatoer). Såfremt data er fejlfrie, gemmes data og erstatter evt. tidligere overførelser foretaget i indberetningsperioden.
Hvis valideringen ikke finder fejl, vil ErrorCount være 0. Ellers vil ErrorCount være større end 0, og der vil være en liste af ValidationError-elementer med fejlmeddelser.
Eksempel på OK-svar
<UploadDataResponse xmlns="http://www.stil.dk/AmuDvh"> <UploadDataResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <ErrorCount>0</ErrorCount> <Message>Data blev modtaget og valideret korrekt.</Message> <ValidationErrors/> </UploadDataResult> </UploadDataResponse>
Eksempel på Fejl-svar
<UploadDataResponse xmlns="http://www.stil.dk/AmuDvh"> <UploadDataResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <ErrorCount>8</ErrorCount> <Message>Der er 8 valideringsfejl</Message> <ValidationErrors> <ExtendedValidationError> <ErrorHoldId>XX117</ErrorHoldId> <ErrorLocation>Hold</ErrorLocation> <ErrorMessage>Startdato ('2013-04-06') må ikke ligge mere end 4 år tilbage i tid</ErrorMessage> <ErrorPersonId i:nil="true"/> <ErrorType>DataValidation</ErrorType> </ExtendedValidationError> <ExtendedValidationError> <ErrorHoldId i:nil="true"/> <ErrorLocation>FkbMaal</ErrorLocation> <ErrorMessage>Slutdato ('2018-08-11') må ikke ligge længere fremme i tid end ('2018-06-30') for denne indberetningsperiode: 2. kvartal i 2018</ErrorMessage> <ErrorPersonId>5187025162</ErrorPersonId> <ErrorType>DataValidation</ErrorType> </ExtendedValidationError> <ExtendedValidationError> <ErrorHoldId i:nil="true"/> <ErrorLocation>FkbMaal</ErrorLocation> <ErrorMessage>Slutdato ('2019-02-28') må ikke ligge længere fremme i tid end ('2018-06-30') for denne indberetningsperiode: 2. kvartal i 2018</ErrorMessage> <ErrorPersonId>5187025162</ErrorPersonId> <ErrorType>DataValidation</ErrorType> </ExtendedValidationError> <ExtendedValidationError> <ErrorHoldId i:nil="true"/> <ErrorLocation>FkbMaal</ErrorLocation> <ErrorMessage>Slutdato ('2018-12-24') må ikke ligge længere fremme i tid end ('2018-06-30') for denne indberetningsperiode: 2. kvartal i 2018</ErrorMessage> <ErrorPersonId>5187025162</ErrorPersonId> <ErrorType>DataValidation</ErrorType> </ExtendedValidationError> <ExtendedValidationError> <ErrorHoldId i:nil="true"/> <ErrorLocation>FkbMaal</ErrorLocation> <ErrorMessage>Startdato ('2019-07-22') må ikke ligge efter Slutdato ('2017-09-27')</ErrorMessage> <ErrorPersonId>5187025162</ErrorPersonId> <ErrorType>DataValidation</ErrorType> </ExtendedValidationError> <ExtendedValidationError> <ErrorHoldId i:nil="true"/> <ErrorLocation>FkbMaal</ErrorLocation> <ErrorMessage>Startdato ('2019-03-05') må ikke ligge efter Slutdato ('2017-11-28')</ErrorMessage> <ErrorPersonId>5187025162</ErrorPersonId> <ErrorType>DataValidation</ErrorType> </ExtendedValidationError> <ExtendedValidationError> <ErrorHoldId i:nil="true"/> <ErrorLocation>FkbMaal</ErrorLocation> <ErrorMessage>Slutdato ('2018-09-17') må ikke ligge længere fremme i tid end ('2018-06-30') for denne indberetningsperiode: 2. kvartal i 2018</ErrorMessage> <ErrorPersonId>5187025162</ErrorPersonId> <ErrorType>DataValidation</ErrorType> </ExtendedValidationError> <ExtendedValidationError> <ErrorHoldId i:nil="true"/> <ErrorLocation>FkbMaal</ErrorLocation> <ErrorMessage>Slutdato ('2018-11-13') må ikke ligge længere fremme i tid end ('2018-06-30') for denne indberetningsperiode: 2. kvartal i 2018</ErrorMessage> <ErrorPersonId>5187025162</ErrorPersonId> <ErrorType>DataValidation</ErrorType> </ExtendedValidationError> </ValidationErrors> </UploadDataResult> </UploadDataResponse>
Udviklingsværktøjer
Webservicen er udviklet i .Net-frameworket og kan umiddelbart tilgås i Visual Studio 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. Se også Bilag 2.
- Fiddler (http://www.telerik.com/fiddler) – analyserer webservicekald og webservicesvar.
Bilag 2 og 3 er eksempler på hhv. soap request og tilhørende soap response, når XML-data i bilag 1 anvendes.
Bilag 1: Eksempel på valide XML-data
<Indberetning xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.stil.dk/AmuIndberetning/"> <Version>1.0</Version> <SystemVersion>dd7b63ba-0fa2-40c3-9a01-0a919d0b4961</SystemVersion> <JournalNummer>bad546b3-40a3-422b-b181-8b0f616afbe1</JournalNummer> <IndberetningsAar>2018-2</IndberetningsAar> <IndberettendeEnhed>999999</IndberettendeEnhed> <KontaktPerson>e946556c-09b2-4ff3-b971-f1ccbe35d32b</KontaktPerson> <KontaktEmail>uhl@stil.dk</KontaktEmail> <PersonListe> <Person> <PersonId>5187025162</PersonId> <Fornavne>Karla</Fornavne> <EfternavnJensen</Efternavn> <Foedselsdato>2018-06-02</Foedselsdato> <Koen>0</Koen> <KursistListe> <Kursist> <Afholdende>215886</Afholdende> <Uddannelse>AMU</Uddannelse> <FkbMaalListe> <FkbMaal> <FKB>27cb</FKB> <FKBvers>624a</FKBvers> <Uvm_fag>12876</Uvm_fag> <Niveau>A</Niveau> <Startdato>2018-07-09</Startdato> <Slutdato>2018-08-11</Slutdato> <Taelleprincip>2</Taelleprincip> <Rekvirent>a6e9</Rekvirent> <Resultat>3</Resultat> <Varighed>47.127174686234060063171652436</Varighed> <JobrettetUdd>N</JobrettetUdd> <TMK>ea957</TMK> <Kursiststatus>1</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>3ac7</FKB> <FKBvers>bb1f</FKBvers> <Uvm_fag>6346</Uvm_fag> <Niveau>B</Niveau> <Startdato>2016-12-07</Startdato> <Slutdato>2018-01-01</Slutdato> <Taelleprincip>4</Taelleprincip> <Rekvirent>23e9</Rekvirent> <Resultat>3</Resultat> <Varighed>23.228865651054710918614929514</Varighed> <JobrettetUdd>N</JobrettetUdd> <TMK>044db</TMK> <Kursiststatus>2</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>7940</FKB> <FKBvers>be7f</FKBvers> <Uvm_fag>40967</Uvm_fag> <Niveau>B</Niveau> <Startdato>2019-01-28</Startdato> <Slutdato>2019-02-28</Slutdato> <Taelleprincip>3</Taelleprincip> <Rekvirent>ff43</Rekvirent> <Resultat>2</Resultat> <Varighed>149.94110384208201609660252781</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>4c30c</TMK> <Kursiststatus>7</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> </FkbMaalListe> </Kursist> <Kursist> <Afholdende>157120</Afholdende> <Uddannelse>AMU</Uddannelse> <FkbMaalListe> <FkbMaal> <FKB>dae0</FKB> <FKBvers>d980</FKBvers> <Uvm_fag>97965</Uvm_fag> <Niveau>C</Niveau> <Startdato>2017-12-29</Startdato> <Slutdato>2018-12-24</Slutdato> <Taelleprincip>2</Taelleprincip> <Rekvirent>4344</Rekvirent> <Resultat>1</Resultat> <Varighed>358.55439874089993477868153156</Varighed> <JobrettetUdd>N</JobrettetUdd> <TMK>9f301</TMK> <Kursiststatus>2</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>a2cd</FKB> <FKBvers>9094</FKBvers> <Uvm_fag>64928</Uvm_fag> <Niveau>C</Niveau> <Startdato>2019-07-22</Startdato> <Slutdato>2017-09-27</Slutdato> <Taelleprincip>4</Taelleprincip> <Rekvirent>6494</Rekvirent> <Resultat>1</Resultat> <Varighed>237.63939007168607323992713156</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>c8973</TMK> <Kursiststatus>2</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>3e4b</FKB> <FKBvers>8675</FKBvers> <Uvm_fag>10900</Uvm_fag> <Niveau>A</Niveau> <Startdato>2017-01-26</Startdato> <Slutdato>2018-01-01</Slutdato> <Taelleprincip>2</Taelleprincip> <Rekvirent>3197</Rekvirent> <Resultat>1</Resultat> <Varighed>39.895922213744335907422679110</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>dac6b</TMK> <Kursiststatus>1</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> </FkbMaalListe> </Kursist> <Kursist> <Afholdende>468707</Afholdende> <Uddannelse>ÅEU</Uddannelse> <FkbMaalListe> <FkbMaal> <FKB>24d5</FKB> <FKBvers>92f1</FKBvers> <Uvm_fag>21233</Uvm_fag> <Niveau>E</Niveau> <Startdato>2019-03-05</Startdato> <Slutdato>2017-11-28</Slutdato> <Taelleprincip>4</Taelleprincip> <Rekvirent>225f</Rekvirent> <Resultat>3</Resultat> <Varighed>77.713264577888541192754808630</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>f2599</TMK> <Kursiststatus>6</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>bb32</FKB> <FKBvers>9842</FKBvers> <Uvm_fag>87564</Uvm_fag> <Niveau>F</Niveau> <Startdato>2018-06-20</Startdato> <Slutdato>2018-09-17</Slutdato> <Taelleprincip>2</Taelleprincip> <Rekvirent>1dc6</Rekvirent> <Resultat>3</Resultat> <Varighed>320.48613594401913506190393200</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>fb23f</TMK> <Kursiststatus>1</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>2d82</FKB> <FKBvers>6503</FKBvers> <Uvm_fag>67428</Uvm_fag> <Niveau>D</Niveau> <Startdato>2017-05-01</Startdato> <Slutdato>2018-11-13</Slutdato> <Taelleprincip>3</Taelleprincip> <Rekvirent>7924</Rekvirent> <Resultat>2</Resultat> <Varighed>246.78835091776603409935198142</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>00312</TMK> <Kursiststatus>6</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> </FkbMaalListe> </Kursist> </KursistListe> </Person> </PersonListe> <HoldListe> <Hold> <HoldId>XX117</HoldId> <Holdnavn>d8b2a9d2-3d55-49bc-ae90-d22575eb5818</Holdnavn> <Kviknr>488</Kviknr> <Startdato>2013-04-06</Startdato> <Slutdato>2018-05-29</Slutdato> </Hold> </HoldListe> </Indberetning>
Bilag 2: Eksempel på SoapUI request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:amud="http://www.stil.dk/AmuDvh"> <soapenv:Header/> <soapenv:Body> <eud:ValidateXmlAgainstSchema> <amud:xml> <Indberetning xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.stil.dk/AmuIndberetning/"> <Version>1.0</Version> <SystemVersion>dd7b63ba-0fa2-40c3-9a01-0a919d0b4961</SystemVersion> <JournalNummer>bad546b3-40a3-422b-b181-8b0f616afbe1</JournalNummer> <IndberetningsAar>2018-2</IndberetningsAar> <IndberettendeEnhed>999999</IndberettendeEnhed> <KontaktPerson>Ulla Høeg</KontaktPerson> <KontaktEmail>uhl@stil.dk</KontaktEmail> <PersonListe> <Person> <PersonId>5187025162</PersonId> <Fornavne>Karla</Fornavne> <Efternavn>Jensen</Efternavn> <Foedselsdato>2018-06-02</Foedselsdato> <Koen>0</Koen> <KursistListe> <Kursist> <Afholdende>215886</Afholdende> <Uddannelse>AMU</Uddannelse> <FkbMaalListe> <FkbMaal> <FKB>27cb</FKB> <FKBvers>624a</FKBvers> <Uvm_fag>12876</Uvm_fag> <Niveau>A</Niveau> <Startdato>2018-07-09</Startdato> <Slutdato>2018-08-11</Slutdato> <Taelleprincip>2</Taelleprincip> <Rekvirent>a6e9</Rekvirent> <Resultat>3</Resultat> <Varighed>47.127174686234060063171652436</Varighed> <JobrettetUdd>N</JobrettetUdd> <TMK>ea957</TMK> <Kursiststatus>1</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>3ac7</FKB> <FKBvers>bb1f</FKBvers> <Uvm_fag>6346</Uvm_fag> <Niveau>B</Niveau> <Startdato>2016-12-07</Startdato> <Slutdato>2018-01-01</Slutdato> <Taelleprincip>4</Taelleprincip> <Rekvirent>23e9</Rekvirent> <Resultat>3</Resultat> <Varighed>23.228865651054710918614929514</Varighed> <JobrettetUdd>N</JobrettetUdd> <TMK>044db</TMK> <Kursiststatus>2</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>7940</FKB> <FKBvers>be7f</FKBvers> <Uvm_fag>40967</Uvm_fag> <Niveau>B</Niveau> <Startdato>2019-01-28</Startdato> <Slutdato>2019-02-28</Slutdato> <Taelleprincip>3</Taelleprincip> <Rekvirent>ff43</Rekvirent> <Resultat>2</Resultat> <Varighed>149.94110384208201609660252781</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>4c30c</TMK> <Kursiststatus>7</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> </FkbMaalListe> </Kursist> <Kursist> <Afholdende>157120</Afholdende> <Uddannelse>AMU</Uddannelse> <FkbMaalListe> <FkbMaal> <FKB>dae0</FKB> <FKBvers>d980</FKBvers> <Uvm_fag>97965</Uvm_fag> <Niveau>C</Niveau> <Startdato>2017-12-29</Startdato> <Slutdato>2018-12-24</Slutdato> <Taelleprincip>2</Taelleprincip> <Rekvirent>4344</Rekvirent> <Resultat>1</Resultat> <Varighed>358.55439874089993477868153156</Varighed> <JobrettetUdd>N</JobrettetUdd> <TMK>9f301</TMK> <Kursiststatus>2</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>a2cd</FKB> <FKBvers>9094</FKBvers> <Uvm_fag>64928</Uvm_fag> <Niveau>C</Niveau> <Startdato>2019-07-22</Startdato> <Slutdato>2017-09-27</Slutdato> <Taelleprincip>4</Taelleprincip> <Rekvirent>6494</Rekvirent> <Resultat>1</Resultat> <Varighed>237.63939007168607323992713156</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>c8973</TMK> <Kursiststatus>2</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>3e4b</FKB> <FKBvers>8675</FKBvers> <Uvm_fag>10900</Uvm_fag> <Niveau>A</Niveau> <Startdato>2017-01-26</Startdato> <Slutdato>2018-01-01</Slutdato> <Taelleprincip>2</Taelleprincip> <Rekvirent>3197</Rekvirent> <Resultat>1</Resultat> <Varighed>39.895922213744335907422679110</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>dac6b</TMK> <Kursiststatus>1</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> </FkbMaalListe> </Kursist> <Kursist> <Afholdende>468707</Afholdende> <Uddannelse>ÅEU</Uddannelse> <FkbMaalListe> <FkbMaal> <FKB>24d5</FKB> <FKBvers>92f1</FKBvers> <Uvm_fag>21233</Uvm_fag> <Niveau>E</Niveau> <Startdato>2019-03-05</Startdato> <Slutdato>2017-11-28</Slutdato> <Taelleprincip>4</Taelleprincip> <Rekvirent>225f</Rekvirent> <Resultat>3</Resultat> <Varighed>77.713264577888541192754808630</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>f2599</TMK> <Kursiststatus>6</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>bb32</FKB> <FKBvers>9842</FKBvers> <Uvm_fag>87564</Uvm_fag> <Niveau>F</Niveau> <Startdato>2018-06-20</Startdato> <Slutdato>2018-09-17</Slutdato> <Taelleprincip>2</Taelleprincip> <Rekvirent>1dc6</Rekvirent> <Resultat>3</Resultat> <Varighed>320.48613594401913506190393200</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>fb23f</TMK> <Kursiststatus>1</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> <FkbMaal> <FKB>2d82</FKB> <FKBvers>6503</FKBvers> <Uvm_fag>67428</Uvm_fag> <Niveau>D</Niveau> <Startdato>2017-05-01</Startdato> <Slutdato>2018-11-13</Slutdato> <Taelleprincip>3</Taelleprincip> <Rekvirent>7924</Rekvirent> <Resultat>2</Resultat> <Varighed>246.78835091776603409935198142</Varighed> <JobrettetUdd>J</JobrettetUdd> <TMK>00312</TMK> <Kursiststatus>6</Kursiststatus> <HoldRef>XX117</HoldRef> </FkbMaal> </FkbMaalListe> </Kursist> </KursistListe> </Person> </PersonListe> <HoldListe> <Hold> <HoldId>XX117</HoldId> <Holdnavn>d8b2a9d2-3d55-49bc-ae90-d22575eb5818</Holdnavn> <Kviknr>488</Kviknr> <Startdato>2013-04-06</Startdato> <Slutdato>2018-05-29</Slutdato> </Hold> </HoldListe> </Indberetning> </amud:xml> </eud:ValidateXmlAgainstSchema> </soapenv:Body> </soapenv:Envelope>
Da webservicens kald er beskyttet af brugernavn og adgangskode, skal disse sættes i SoapUI via knappen Auth:
Vælg "Add New Authorization…" og typen "Basic" i den efterfølgende dialogboks:
Angiv brugernavn og adgangskode, og markér "Authenticate pre-emptively" i fanebladet "Auth":
I fanebladet "WS-A" sættes flueben i "Add default wsa:To":
I "Request Properties" sættes de to egenskaber "WSS-PasswordType" og "WSS TimeToLive". PasswordType sættes til PasswordText, mens TimeToLive sættes tilpas højt (her 2000 millisekunder).
Alternativt kan brugernavn og adgangskode sættes for alle webservicekald ved at højreklikke på WSDL-interfacet og vælge "Show Interface Viewer". Herefter udfyldes oplysningerne i fanebladet "Service Endpoints".
I fanebladet "WS-A" sættes fortsat flueben i "Add default wsa:To" for det enkelte kald:
Bilag 3: Eksempel på SoapUI response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <ValidateXmlAgainstSchemaResponse xmlns="http://www.stil.dk/EudDvh"> <ValidateXmlAgainstSchemaResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <ErrorCount>0</ErrorCount> <Message>Data blev modtaget og valideret korrekt.</Message> <ValidationErrors/> </ValidateXmlAgainstSchemaResult> </ValidateXmlAgainstSchemaResponse> </s:Body> </s:Envelope>