| Anchor | ||||
|---|---|---|---|---|
|
| Table of Contents |
|---|
| Info | ||
|---|---|---|
| ||
BEMÆRK På Datafordeleren er der ikke konfigureret timeout på webtjenester. |
Fordele ved brug af REST
Servicetyper
Når en webservice konfigureres genereres der automatisk en url.
Opbygningen af url’en sker ud fra følgende kriterier, som angives i forbindelse med konfigurationen af webservicen:
- Protokol (http/https)
- Webservicetype (REST, WFS, WMS, WMTS, WCS, TMS)
- Webservicenavn
- Version af webservicen
Strukturen for den genererede url sker i overensstemmelse med følgende skema:
<scheme>://<authority>/<path>/?<parameters>
Strukturen for den samlede url sker i overensstemmelse med følgende skema, når<authority> og <path> bliver foldet ud:
<scheme>://<alias>.datafordeler.dk/<owner>/<service>/<version>/<metode>/?<parameters>
| Info | ||||
|---|---|---|---|---|
| ||||
<scheme> Afgøres afgøres af den valgte protokol og vil altid være enten http eller https. Det anbefales ikke at sende brugernavn/adgangskode ukrypteret. Derfor bør der altid anvendes https, hvis disse sikkerhedsakkreditiver anvendes. <authority> udgøres af følgende mønster <alias>.datafordeler.dk
<path>udgøres af følgende mønster <owner>/<service>/<version>/<metode>
<parameters> |
Sikkerhedsparametre
OCES certifikater
Kald med certifikater skal ikke ske til det ”normale” endpoint, men skal gå til et separat endpoint specifikt for anvendelse af certifikater.
- Url vil for webservices med certifikater i
- zone 0
- starte med
- : https://certservices.datafordeler.dk/
- Url vil for webservices med certifikater i
- zone 5
- starte med
- : https://s5-certservices.datafordeler.dk/
Se endpoint for testmiljøerne
i Listen over endpointpå siden Hent data.
Brugernavn/adgangskode
<scheme>://<alias>.datafordeler.dk/<owner>/<service>/<version>/<metode>/?username=xxx&password=yyy
| Info | ||||
|---|---|---|---|---|
| ||||
Brugernavn og adgangskode er obligatoriske parametre, hvis tjenestebrugeren er oprettet på den måde. xxx - skal erstattes med brugernavn for tjenestebruger |
Paging
Det er muligt at anvende paging for de REST-services, der er konfigureret til det.
I webservicekatalogerne vil det fremgå af de generelle informationer om registrets webservices er konfigureret til at benytte paging samt informationer om en default paging-størrelse.
Anvender paging:
- Bygnings- og Boligregistret (BBR) (Default paging-størrelse: 100)
- Danmarks Administrative Geografiske Inddeling (DAGI) (Default paging-størrelse: 20)
- Danmarks Adresseregister (DAR) (Default paging-størrelse: 100)
- Det Centrale Personregister (CPR) - offentlig (Default paging-størrelse: 20)
- Ejendomsbeliggenhedsregistret (EBR) (Default paging-størrelse: 20)
- Ejerfortegnelsen (EJF) (Default paging-størrelse: 20)
Anvender ikke paging:
- Danmarks Højdemodel (DHM)
- Danske Stednavne
- Det Centrale Personregister (CPR) - privat
- Det Centrale Virksomhedsregister (CVR)
- Ejendomsvurdering (VUR)
- Historiske kort og data
- Matriklen (MAT2)
Benytter du paging vil den samlede url følge dette skema:
<scheme>://<alias>.datafordeler.dk/<owner>/<service>/<version>/<metode>/?page=xxx&pagesize=yyy
| Info | ||||
|---|---|---|---|---|
| ||||
Følgende skal tilføjes url'en for at hente hændelsesbeskeder med paging data, som bruger paging parametre: xxx - skal erstattes med nummeret på den side, som du ønsker. |
| Info |
|---|
Bemærk Du får ikke vist det fundne antal elementer i resultatsættet ved brug af paging. Benyt parameteren count, som beskrevet nedenfor, for at hente antallet af elementer i resultatsættet. |
Count
Antal elementer i resultatsættet returneres ved at angive parameteren count i REST kald.
Benytter du count vil den samlede url følge dette skema:
<scheme>://<alias>.datafordeler.dk/<owner>/<service>/<version>/<metode>/?count=true
| Info | ||||
|---|---|---|---|---|
| ||||
Følgende skal tilføjes url'en for at hente antallet af elementer i resultatsættet: count=true |
Format
REST-servicen kan returnere data i formaterne JSON og XML. Angiver du ikke hvilket format du ønsker dit output vil du modtage det i JSON, da de er defaultværdien på Datafordeleren.
Vælger du at specificere formatet, vil den samlede url følge dette skema:
<scheme>://<alias>.datafordeler.dk/<owner>/<service>/<version>/<metode>/?format=xxx
En anden mulighed er at sætte accept headeren til "application/json" eller "application/xml".
| Info | ||||
|---|---|---|---|---|
| ||||
Følgende skal tilføjes url'en for at hente hændelsesbeskeder med et bestemt format: xxx - skal erstattes med enten json eller xml. |
En anden mulighed er at sætte accept headeren til "application/json" eller "application/xml".
jsonpCallback
jsonpCallback: jsonp kan anvendes ved at angive jsonpCallback=xxx.
De registerspecifikke servicekataloger er knyttet til de specifikationer, som registret har specificeret i deres Dataleverancespecifikation (DLS). For hver parameter er dens type angivet.
Der benyttes følgende typer:
- UUID
- Liste af værdier af typen UUID
- String
- Liste af værdier af typen String
- Integer
- Liste af værdier af typen Integer
- DateTime
- Date
- Boolean
- Double
I de registerspecifikke servicekatologer vil du under hver metode kunne se hvilke parametre, som det er muligt at benytte på den enkelt metode og af hvilken type den er.
Liste af værdier
Nogle tjenester accepterer at en parameter består af en liste af værdier.
For de REST baserede webservices er dette understøttet ved at de enkelte værdier i listen adskilles af et ”|”-tegn (pipe karakter).
Eksempel med 4 værdier i en liste til en parameter: Værdi1|Værdi2|Værdi3|Værdi4
| Info | ||||
|---|---|---|---|---|
| ||||
https://s5-certservices.datafordeler.dk/CPR/CprPersonCprPersonFullComplete/1/RESTrest/PersonKompletListeHentPersonFullListComplete?Format=JSON&pnr.personnummer.wi=xxxxxxxxxx|xxxxxxxxxx| |
Webservices kan i Datafordeleren konfigureres til at kræve kvitteringer fra anvenderen.
Alle forespørgsler til en webservice vil returnere en response-header med kvitteringsID (receipt id) og kaldet DataDistributor.ReceiptId.
For at kvittere for data skal du sende en POST anmodning til kvitteringsservicen.
https://<endpoint>.datafordeler.dk/system/receipt/1/rest?username=xxx&password=yyy
med en request body der ser ud som (json eksempel):
{ "ReceiptId":"zzz" }
hvor “zzz” angiver kvitteringsID.
Det anbefales at anvende tickets som alternativ til brugernavn og adgangskoder, hvis en url skal overdrages til tredje part, hvor brugernavn og adgangskode ikke skal fremgår af url'en. For eksempel hvis et website vil vise et kort fra Datafordeleren.
Funktionaliteten virker med samtlige OGC tjenester på Datafordeleren og er testet med WFS, WCS, WMTS og WMS. Funktionaliteten virker ikke med REST.Du kan hente en ticket ved at kalde denne service:
https://<endpoint>/system/getticket/1/custom?service=xxx&username=yyy&password=zzz
Tilføj owner, service, version og metode samt tjenestebrugerens brugernavn og adgangskode til url'en.
Kald url'en i din browser og du får returneret din ticket til den service, som du ønsker at kalde.
| Info | ||||
|---|---|---|---|---|
| ||||
Følgende skal tilføjes url'en for at hente en ticket xxx - skal erstattes med <path> (<owner>/<service>/<version>/<metode>) i url'en. |
Ticket skal erstatte brugernavn og adgangskode i url'en, når du kalder din tjeneste på følgende måde:
https://<endpoint>/<owner>/<service>/<version>/<metode>/<parameters>&ticket=ttt
| Info | ||||
|---|---|---|---|---|
| ||||
Følgende skal tilføjes url'en for at hente en tjeneste med ticket ttt - skal erstattes med med den ticket, som du har hentet ved at kalde Ticket Serveren. |
| icon | false |
|---|---|
| title | EKSEMPEL - OPSÆTNING AF TICKET TIL SKÆRMKORT |
For at hente en ticket for skærmkort benyttes følgende url:
Her bliver xxx erstattet med <path> (Dkskaermkort/topo_skaermkort_wmts/1.0.0/wmts) i url'en, yyy bliver erstattet med tjenestebrugerens brugernavn i url'en og zzz bliver erstattet med tjenestebrugeren adgangskode i url'en.
Eksempel på Ticket:
602a9a0954f44da0bbd40b6fc2f2f7fc
Eksempel på url til Skærmkort med ticket: