- Created by Maria Klostermann Tapdrup, last modified by Ann-Sofie Hildebrandt on Feb 27, 2024
Siden giver eksempler på hvordan du kan benytte certifikater på Datafordeleren.
Siden indeholder ældre eksempler, som ikke er opdateret til de nye OCES3 certifikater.
Sideinformation
Oprindelig kilde | WorkZone - 1442-0424 |
---|---|
Forfatter | KMD |
Oprettet | Mar 18, 2019 |
Version | 1.0 |
Ændret | Feb 27, 2024 |
Sidehistorik |
.NET
Client auth SSL
Eksemplet er oprettet for at vise Direct SSL klient certifikat autorisation på Datafordeleren.
Fremgangsmåde
- Kopier et FOCES eller VOCES service user keystore til
/App_Data/ folder
- Skab en reference til filen og din adgangskode, mens du kører
DataDistributor.Switchboard.Authorization.CertTest.exe
- Skift url'en til den tjeneste på Datafordeleren, som du ønsker at benytte
Status code: OK
Response Content-Type: application/json; charset=UTF8
{ "datafordelerOpdateringstid": "2016-10-07T19:27:59.802+02:00", "adgangsadressebetegnelse": "Spaden C 2, Høje Taastrup, 2630 Taastrup", "afstemningsområde": { "id": "1566156", "afstemningsområdenummer": "06", "navn": "Gadehaveskolen" }, "forretningshændelse": "3", "forretningsområde": "54.15.10.07", "forretningsproces": "0", "geoDanmarkBygning": "1005307686", "husnummerretning": "POINT(0.946085358827545 -0.32391741819815)", "husnummertekst": "2", "id_lokalId": "0a3f507d-1a3d-32b8-e044-0003ba298018", "id_namespace": "http://data.gov.dk/dar/husnummer", "jordstykke": "402274", "kommuneinddeling": { "id": "389114", "kommunekode": "0169", "navn": "Høje Taastrup" }, "menighedsrådsafstemningsområde": { "id": "1700977", "mrafstemningsområdenummer": "1", "navn": "Høje Taastrup" }, "registreringFra": "2016-07-08T17:10:50+02:00", "registreringsaktør": "DAR", "sogneinddeling": { "id": "107659", "sognekode": "7152", "navn": "Høje Taastrup" }, "status": "3", "vejmidte": "1006309113", "virkningFra": "2016-09-16T12:34:43+02:00", "virkningsaktør": "Konvertering2017", "navngivenVej": { "datafordelerOpdateringstid": "2016-10-07T20:23:50.386+02:00", "administreresAfKommune": "0169", "forretningshændelse": "0", "forretningsområde": "54.15.10.06", "forretningsproces": "0", "id_lokalId": "55595d06-fac1-4a07-b7e8-7365fe9428cc", "id_namespace": "http://data.gov.dk/dar/navngivenvej", "registreringFra": "2016-07-08T17:10:50+02:00", "registreringsaktør": "DAR", "status": "3", "udtaltVejnavn": "Spaden C", "vejadresseringsnavn": "Spaden C", "vejnavn": "Spaden C", "vejnavnebeliggenhed_oprindelse_kilde": "Ekstern", "vejnavnebeliggenhed_oprindelse_nøjagtighedsklasse": "B", "vejnavnebeliggenhed_oprindelse_registrering": "2016-09-01T18:20:58.068+02:00", "vejnavnebeliggenhed_oprindelse_tekniskStandard": "NO", "vejnavnebeliggenhed_vejnavneområde": "POLYGON((706160.12 6172245.95,706186.79 6172080.73,706152.796674 6172075.24276,706126.126674 6172240.46276,706160.12 6172245.95))", "virkningFra": "1900-01-01T13:00:00+01:00", "virkningsaktør": "Konvertering2017SDFE", "navngivenVejKommunedelList": [ { "id_lokalId": "a07f8a98-6f7e-11e6-a528-063320a53a26", "navngivenVejKommunedel": { "datafordelerOpdateringstid": "2016-10-07T20:24:18.076+02:00", "forretningshændelse": "1", "forretningsområde": "54.15.10.06", "forretningsproces": "0", "id_lokalId": "a07f8a98-6f7e-11e6-a528-063320a53a26", "id_namespace": "http://data.gov.dk/dar/navngivenvejkommunedel", "kommune": "0169", "navngivenVej": "55595d06-fac1-4a07-b7e8-7365fe9428cc", "registreringFra": "2016-07-08T17:10:50+02:00", "registreringsaktør": "DAR", "status": "3", "vejkode": "7428", "virkningFra": "1900-01-01T13:00:00+01:00", "virkningsaktør": "Konvertering2017SDFE" } } ] }, "adgangspunkt": { "datafordelerOpdateringstid": "2016-10-07T17:45:04.681+02:00", "oprindelse_kilde": "Ekstern", "oprindelse_nøjagtighedsklasse": "A", "oprindelse_registrering": "2014-11-28T13:14:48.957+01:00", "oprindelse_tekniskStandard": "TK", "position": "POINT(706176.77 6172114.13)" }, "vejpunkt": { "datafordelerOpdateringstid": "2016-10-07T19:07:13.562+02:00", "oprindelse_kilde": "Ekstern", "oprindelse_nøjagtighedsklasse": "B", "oprindelse_registrering": "2016-09-01T18:22:45.177+02:00", "oprindelse_tekniskStandard": "V2", "position": "POINT(706163.08 6172175.47)" }, "supplerendeBynavn": { "datafordelerOpdateringstid": "2016-10-07T20:28:02.261+02:00", "forretningshændelse": "5", "forretningsområde": "54.15.10.25", "forretningsproces": "0", "id_lokalId": "a684854a-3f14-438e-a763-9841ee1f12ad", "id_namespace": "http://data.gov.dk/dar/supplerendebynavn", "navn": "Høje Taastrup", "registreringFra": "2016-07-08T17:10:50+02:00", "registreringsaktør": "DAR", "status": "3", "supplerendeBynavn": "1647901", "virkningFra": "1753-01-01T01:00:00+01:00", "virkningsaktør": "Konvertering2017" } }
Zip-fil med eksempel
SAML2 token auth
Eksemplet er oprettet for at vise SAML2 token autorisation på Datafordeleren.
Fremgangsmåde
- Kopier et FOCES eller VOCES service user keystore til
/App_Data/ folder
- Skab en reference til filen og din adgangskode i
Script.bat
filen - Skift url'en til den tjeneste på Datafordeleren, som du ønsker at benytte, i
Script.bat
filen - Kør
Script.bat
filen og tjek resultatet iresult.txt
BEGIN Aquire saml with certificate auth token attempt Configured certificatepath: C:\somedir\App_Data\FOCES_gyldig.p12 Elapsed time in miliseconds: 769 SAML token: PEFzc2VydGlvbiBJRD0iX2UzYzMxYTU2LTVkMzEtNDM1ZC05NTdkLTE1YzA5NTcyYzY2MyIgSXNzdWVJbnN0YW50PSIyMDE5LTExLTI5VDEyOjE2OjQxLjAyMVoiIFZlcnNpb249IjIuMCIgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphc3NlcnRpb24iPjxJc3N1ZXI+aHR0cHM6Ly9zYW1sLnFhdWEta21kLmNsb3VkYXBwLm5ldC9hZGZzL3NlcnZpY2VzL3RydXN0PC9Jc3N1ZXI+PGRzOlNpZ25hdHVyZSB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+PGRzOlNpZ25lZEluZm8+PGRzOkNhbm9uaWNhbGl6YXRpb25NZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiIC8+PGRzOlNpZ25hdHVyZU1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZHNpZy1tb3JlI3JzYS1zaGEyNTYiIC8+PGRzOlJlZmVyZW5jZSBVUkk9IiNfZTNjMzFhNTYtNWQzMS00MzVkLTk1N2QtMTVjMDk1NzJjNjYzIj48ZHM6VHJhbnNmb3Jtcz48ZHM6VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI2VudmVsb3BlZC1zaWduYXR1cmUiIC8+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIgLz48L2RzOlRyYW5zZm9ybXM+PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3NoYTI1NiIgLz48ZHM6RGlnZXN0VmFsdWU+Wnk2L2Q4b3ZkV0pGLytLbi8vOWM0a28wOUtUU0hzWUYrVGIvNnpycll3OD08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6UmVmZXJlbmNlPjwvZHM6U2lnbmVkSW5mbz48ZHM6U2lnbmF0dXJlVmFsdWU+bDhZdHovakFMeS9zaDJvTitvRENPQWJ2dUVVR3UxR2JRR2x0clFTbVYzRjd1SlFmMC9NbEh5R1AyWFZJdjJOS2tXRVNBWHQyVXk4bzIxMnB3YjBVNlJmS2hRYmtZU1V1STI3eTd4cDNTQ3NGUkw0VGcvZEQ5dUwyeWJHNGJPdVV2WllGYTdVQ29ZV05PbGlFYWxDOHdlVTNoSkswMXJoQWlKNlducGxsdkZJQlZuTEJjc0JKWHZ1ZzYyZnk3aUY2aVRqUXpQbjcvTE9RWCs3cC9LaEllUGNHbk5UV29yNWtEL0RqUmtUQVlHWUY3ek9FL0hCRUtoL09LWHhVeWkycnV5d1dLWTk0VUtLTlAyenNxVGhCV1VCMHVXays5ZDcvZGxYWE9GWlNza0xOd0lzV0xYOC80ZUdxSXVtME5BWCswZEtiMGxVMU8wWDVvL3Z1Z09xeGVnPT08L2RzOlNpZ25hdHVyZVZhbHVlPjxLZXlJbmZvIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlHRXpDQ0JQdWdBd0lCQWdJRVdSdWJOVEFOQmdrcWhraUc5dzBCQVFzRkFEQklNUXN3Q1FZRFZRUUdFd0pFU3pFU01CQUdBMVVFQ2d3SlZGSlZVMVF5TkRBNE1TVXdJd1lEVlFRRERCeFVVbFZUVkRJME1EZ2dVM2x6ZEdWdGRHVnpkQ0JZV0VsSklFTkJNQjRYRFRFNE1ESXhOREExTWpNMU0xb1hEVEl4TURJeE5EQTFNak16TjFvd2Z6RUxNQWtHQTFVRUJoTUNSRXN4SURBZUJnTlZCQW9NRjB0TlJDQkJMMU1nTHk4Z1ExWlNPakkyT1RFeE56UTFNVTR3SUFZRFZRUUZFeGxEVmxJNk1qWTVNVEUzTkRVdFJrbEVPamN4T0RJMU5qVXdNQ29HQTFVRUF3d2pSRVF1UkdWMk1ERXVRV1JtY3lBb1puVnVhM1JwYjI1elkyVnlkR2xtYVd0aGRDa3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDL2Zwa1E0ZHVCcTRwRTVCdFB2YkJ1RDZFNGltMFRZTklZRTREM2VSWXNWRnlkTmllYXBsL05SQ1N4MXlNMUpTck11YThmOU9CNkFjR0NrSkErWVUxMzYvclVJYisvamM3Qm45ZjNuU0NiZTNBRlQvZnhxK3FVVnQ4VkRRZHhJRFBqeU54MXBnM09kWU5vZGxrd1ZlZWZTNXBRZ2Uwc0k1UXVoNGEzaHlubTJGQkJpS0lOb2ZtR1Evb1lwdVp6YnQzRWk0SW51NHpPbjhTdkM5RVZnQnpZLzlSUHBvdlY5cG10Z2huV1lWMm5uS0NxYXBHWmszanNIZlVZVE9jN3JCYytDRlBHb1R6VXNlczN4Nis1TXlrMGdFVXplNVhoUEpMU2xRRmtqWmpsdy83dmM0c3hEaW95bXRKRklESnFWdWROdUtsOXQreXZ2Vm9qVUxYZEkvdDdBZ01CQUFHamdnTE1NSUlDeURBT0JnTlZIUThCQWY4RUJBTUNBN2d3Z1pjR0NDc0dBUVVGQndFQkJJR0tNSUdITUR3R0NDc0dBUVVGQnpBQmhqQm9kSFJ3T2k4dmIyTnpjQzV6ZVhOMFpXMTBaWE4wTWpJdWRISjFjM1F5TkRBNExtTnZiUzl5WlhOd2IyNWtaWEl3UndZSUt3WUJCUVVITUFLR08yaDBkSEE2THk5bUxtRnBZUzV6ZVhOMFpXMTBaWE4wTWpJdWRISjFjM1F5TkRBNExtTnZiUzl6ZVhOMFpXMTBaWE4wTWpJdFkyRXVZMlZ5TUlJQklBWURWUjBnQklJQkZ6Q0NBUk13Z2dFUEJnMHJCZ0VFQVlIMFVRSUVCZ1FDTUlIOU1DOEdDQ3NHQVFVRkJ3SUJGaU5vZEhSd09pOHZkM2QzTG5SeWRYTjBNalF3T0M1amIyMHZjbVZ3YjNOcGRHOXllVENCeVFZSUt3WUJCUVVIQWdJd2did3dEQllGUkdGdVNVUXdBd0lCQVJxQnEwUmhia2xFSUhSbGMzUWdZMlZ5ZEdsbWFXdGhkR1Z5SUdaeVlTQmtaVzV1WlNCRFFTQjFaSE4wWldSbGN5QjFibVJsY2lCUFNVUWdNUzR6TGpZdU1TNDBMakV1TXpFek1UTXVNaTQwTGpZdU5DNHlMaUJFWVc1SlJDQjBaWE4wSUdObGNuUnBabWxqWVhSbGN5Qm1jbTl0SUhSb2FYTWdRMEVnWVhKbElHbHpjM1ZsWkNCMWJtUmxjaUJQU1VRZ01TNHpMall1TVM0MExqRXVNekV6TVRNdU1pNDBMall1TkM0eUxqQ0JyQVlEVlIwZkJJR2tNSUdoTUQyZ082QTVoamRvZEhSd09pOHZZM0pzTG5ONWMzUmxiWFJsYzNReU1pNTBjblZ6ZERJME1EZ3VZMjl0TDNONWMzUmxiWFJsYzNReU1qRXVZM0pzTUdDZ1hxQmNwRm93V0RFTE1Ba0dBMVVFQmhNQ1JFc3hFakFRQmdOVkJBb01DVlJTVlZOVU1qUXdPREVsTUNNR0ExVUVBd3djVkZKVlUxUXlOREE0SUZONWMzUmxiWFJsYzNRZ1dGaEpTU0JEUVRFT01Bd0dBMVVFQXd3RlExSk1Nall3SHdZRFZSMGpCQmd3Rm9BVXE2Z0JSQm13czBPWjJ2cDh6TklBR0FQblBMOHdIUVlEVlIwT0JCWUVGT1B6dW0wYmxOTkRLQzRHYnFIdGoxRXVIUjdSTUFrR0ExVWRFd1FDTUFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFKVWxtV3J6YmhVNVBIY2pWNW1jNUQzMW5zNHhqYjBWKzljejhZYlBRUWV3Wk9MVi9FeHhheEd0cndsY2x4UDVsM1R5MDFvZDU4bVV4ZjF3TndMc1ZjaXd6cTBlcDRFWkRGdmhlWWhDWDBSZlhPRlNPSVV5a1BhRWM1Zm9UMzVyN1g3NEdkMlg1NXNqTVVXRzdiTVFob1d1dDU2Q1h6bzJIQzBSUlRyRHoxdXI4Wm94ZEdZcUthUUNXL1YvYkdBd2V6ZUVsSFBnYzkySy91bFA0Mk1xM0NpRDA3ZWw2d3JUR2VMbUFWL3RMeklETURRaDJvTHp5anRUY2VCRjE1dHFCcDE4ODVKSjVLK091TmloOGtORWoyVU9jejFlUlRyNGhkUVNERk5VQU5sTTd2T25VUFpLcTIzcS80aVhNTCtmYU5zMnJ2QzBRQkE5NlNSZzMyWWVFSHc9PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L0tleUluZm8+PC9kczpTaWduYXR1cmU+PFN1YmplY3Q+PE5hbWVJRCBGb3JtYXQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpuYW1laWQtZm9ybWF0OnBlcnNpc3RlbnQiPlJYU0dZWFZFSkE8L05hbWVJRD48U3ViamVjdENvbmZpcm1hdGlvbiBNZXRob2Q9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpjbTpiZWFyZXIiPjxTdWJqZWN0Q29uZmlybWF0aW9uRGF0YSBOb3RPbk9yQWZ0ZXI9IjIwMTktMTEtMjlUMTI6MjE6NDEuMDIxWiIgLz48L1N1YmplY3RDb25maXJtYXRpb24+PC9TdWJqZWN0PjxDb25kaXRpb25zIE5vdEJlZm9yZT0iMjAxOS0xMS0yOVQxMjoxNjo0MC42OTFaIiBOb3RPbk9yQWZ0ZXI9IjIwMTktMTEtMjlUMTM6MTY6NDAuNjkxWiI+PEF1ZGllbmNlUmVzdHJpY3Rpb24+PEF1ZGllbmNlPnVybjpkazprbWQ6ZGQ6dmFsdWU6c3A6c3dpdGNoYm9hcmQ6a25vd251c2VyPC9BdWRpZW5jZT48L0F1ZGllbmNlUmVzdHJpY3Rpb24+PC9Db25kaXRpb25zPjxBdHRyaWJ1dGVTdGF0ZW1lbnQ+PEF0dHJpYnV0ZSBOYW1lPSJkazpnb3Y6c2FtbDphdHRyaWJ1dGU6QXNzdXJhbmNlTGV2ZWwiPjxBdHRyaWJ1dGVWYWx1ZT4yPC9BdHRyaWJ1dGVWYWx1ZT48L0F0dHJpYnV0ZT48QXR0cmlidXRlIE5hbWU9InVybjpkazprbWQ6ZGQ6YXR0cmlidXRlOnV0Ij48QXR0cmlidXRlVmFsdWU+dXJuOmRrOmttZDpkZDp2YWx1ZTp1dDpsb2NhbGZvY2Vzc2VydmljZXVzZXI8L0F0dHJpYnV0ZVZhbHVlPjwvQXR0cmlidXRlPjwvQXR0cmlidXRlU3RhdGVtZW50PjxBdXRoblN0YXRlbWVudCBBdXRobkluc3RhbnQ9IjIwMTktMTEtMjlUMTI6MTY6NDAuNTE5WiI+PEF1dGhuQ29udGV4dD48QXV0aG5Db250ZXh0Q2xhc3NSZWY+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFjOmNsYXNzZXM6WDUwOTwvQXV0aG5Db250ZXh0Q2xhc3NSZWY+PC9BdXRobkNvbnRleHQ+PC9BdXRoblN0YXRlbWVudD48L0Fzc2VydGlvbj4= Performing Switchboard Call with SAML2 authentication Calling switchboard 1 times... Calling switchboard 1 Request: Method: GET, RequestUri: 'https://dev01-services.datafordeler.dk/DAR/DAR/1/rest/husnummer?format=json&id=0a3f507d-1a3d-32b8-e044-0003ba298018', Version: 1.1, Content: <null>, Headers: { Authorization: Bearer PEFzc2VydGlvbiBJRD0iX2UzYzMxYTU2LTVkMzEtNDM1ZC05NTdkLTE1YzA5NTcyYzY2MyIgSXNzdWVJbnN0YW50PSIyMDE5LTExLTI5VDEyOjE2OjQxLjAyMVoiIFZlcnNpb249IjIuMCIgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphc3NlcnRpb24iPjxJc3N1ZXI+aHR0cHM6Ly9zYW1sLnFhdWEta21kLmNsb3VkYXBwLm5ldC9hZGZzL3NlcnZpY2VzL3RydXN0PC9Jc3N1ZXI+PGRzOlNpZ25hdHVyZSB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+PGRzOlNpZ25lZEluZm8+PGRzOkNhbm9uaWNhbGl6YXRpb25NZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiIC8+PGRzOlNpZ25hdHVyZU1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZHNpZy1tb3JlI3JzYS1zaGEyNTYiIC8+PGRzOlJlZmVyZW5jZSBVUkk9IiNfZTNjMzFhNTYtNWQzMS00MzVkLTk1N2QtMTVjMDk1NzJjNjYzIj48ZHM6VHJhbnNmb3Jtcz48ZHM6VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI2VudmVsb3BlZC1zaWduYXR1cmUiIC8+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIgLz48L2RzOlRyYW5zZm9ybXM+PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3NoYTI1NiIgLz48ZHM6RGlnZXN0VmFsdWU+Wnk2L2Q4b3ZkV0pGLytLbi8vOWM0a28wOUtUU0hzWUYrVGIvNnpycll3OD08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6UmVmZXJlbmNlPjwvZHM6U2lnbmVkSW5mbz48ZHM6U2lnbmF0dXJlVmFsdWU+bDhZdHovakFMeS9zaDJvTitvRENPQWJ2dUVVR3UxR2JRR2x0clFTbVYzRjd1SlFmMC9NbEh5R1AyWFZJdjJOS2tXRVNBWHQyVXk4bzIxMnB3YjBVNlJmS2hRYmtZU1V1STI3eTd4cDNTQ3NGUkw0VGcvZEQ5dUwyeWJHNGJPdVV2WllGYTdVQ29ZV05PbGlFYWxDOHdlVTNoSkswMXJoQWlKNlducGxsdkZJQlZuTEJjc0JKWHZ1ZzYyZnk3aUY2aVRqUXpQbjcvTE9RWCs3cC9LaEllUGNHbk5UV29yNWtEL0RqUmtUQVlHWUY3ek9FL0hCRUtoL09LWHhVeWkycnV5d1dLWTk0VUtLTlAyenNxVGhCV1VCMHVXays5ZDcvZGxYWE9GWlNza0xOd0lzV0xYOC80ZUdxSXVtME5BWCswZEtiMGxVMU8wWDVvL3Z1Z09xeGVnPT08L2RzOlNpZ25hdHVyZVZhbHVlPjxLZXlJbmZvIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlHRXpDQ0JQdWdBd0lCQWdJRVdSdWJOVEFOQmdrcWhraUc5dzBCQVFzRkFEQklNUXN3Q1FZRFZRUUdFd0pFU3pFU01CQUdBMVVFQ2d3SlZGSlZVMVF5TkRBNE1TVXdJd1lEVlFRRERCeFVVbFZUVkRJME1EZ2dVM2x6ZEdWdGRHVnpkQ0JZV0VsSklFTkJNQjRYRFRFNE1ESXhOREExTWpNMU0xb1hEVEl4TURJeE5EQTFNak16TjFvd2Z6RUxNQWtHQTFVRUJoTUNSRXN4SURBZUJnTlZCQW9NRjB0TlJDQkJMMU1nTHk4Z1ExWlNPakkyT1RFeE56UTFNVTR3SUFZRFZRUUZFeGxEVmxJNk1qWTVNVEUzTkRVdFJrbEVPamN4T0RJMU5qVXdNQ29HQTFVRUF3d2pSRVF1UkdWMk1ERXVRV1JtY3lBb1puVnVhM1JwYjI1elkyVnlkR2xtYVd0aGRDa3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDL2Zwa1E0ZHVCcTRwRTVCdFB2YkJ1RDZFNGltMFRZTklZRTREM2VSWXNWRnlkTmllYXBsL05SQ1N4MXlNMUpTck11YThmOU9CNkFjR0NrSkErWVUxMzYvclVJYisvamM3Qm45ZjNuU0NiZTNBRlQvZnhxK3FVVnQ4VkRRZHhJRFBqeU54MXBnM09kWU5vZGxrd1ZlZWZTNXBRZ2Uwc0k1UXVoNGEzaHlubTJGQkJpS0lOb2ZtR1Evb1lwdVp6YnQzRWk0SW51NHpPbjhTdkM5RVZnQnpZLzlSUHBvdlY5cG10Z2huV1lWMm5uS0NxYXBHWmszanNIZlVZVE9jN3JCYytDRlBHb1R6VXNlczN4Nis1TXlrMGdFVXplNVhoUEpMU2xRRmtqWmpsdy83dmM0c3hEaW95bXRKRklESnFWdWROdUtsOXQreXZ2Vm9qVUxYZEkvdDdBZ01CQUFHamdnTE1NSUlDeURBT0JnTlZIUThCQWY4RUJBTUNBN2d3Z1pjR0NDc0dBUVVGQndFQkJJR0tNSUdITUR3R0NDc0dBUVVGQnpBQmhqQm9kSFJ3T2k4dmIyTnpjQzV6ZVhOMFpXMTBaWE4wTWpJdWRISjFjM1F5TkRBNExtTnZiUzl5WlhOd2IyNWtaWEl3UndZSUt3WUJCUVVITUFLR08yaDBkSEE2THk5bUxtRnBZUzV6ZVhOMFpXMTBaWE4wTWpJdWRISjFjM1F5TkRBNExtTnZiUzl6ZVhOMFpXMTBaWE4wTWpJdFkyRXVZMlZ5TUlJQklBWURWUjBnQklJQkZ6Q0NBUk13Z2dFUEJnMHJCZ0VFQVlIMFVRSUVCZ1FDTUlIOU1DOEdDQ3NHQVFVRkJ3SUJGaU5vZEhSd09pOHZkM2QzTG5SeWRYTjBNalF3T0M1amIyMHZjbVZ3YjNOcGRHOXllVENCeVFZSUt3WUJCUVVIQWdJd2did3dEQllGUkdGdVNVUXdBd0lCQVJxQnEwUmhia2xFSUhSbGMzUWdZMlZ5ZEdsbWFXdGhkR1Z5SUdaeVlTQmtaVzV1WlNCRFFTQjFaSE4wWldSbGN5QjFibVJsY2lCUFNVUWdNUzR6TGpZdU1TNDBMakV1TXpFek1UTXVNaTQwTGpZdU5DNHlMaUJFWVc1SlJDQjBaWE4wSUdObGNuUnBabWxqWVhSbGN5Qm1jbTl0SUhSb2FYTWdRMEVnWVhKbElHbHpjM1ZsWkNCMWJtUmxjaUJQU1VRZ01TNHpMall1TVM0MExqRXVNekV6TVRNdU1pNDBMall1TkM0eUxqQ0JyQVlEVlIwZkJJR2tNSUdoTUQyZ082QTVoamRvZEhSd09pOHZZM0pzTG5ONWMzUmxiWFJsYzNReU1pNTBjblZ6ZERJME1EZ3VZMjl0TDNONWMzUmxiWFJsYzNReU1qRXVZM0pzTUdDZ1hxQmNwRm93V0RFTE1Ba0dBMVVFQmhNQ1JFc3hFakFRQmdOVkJBb01DVlJTVlZOVU1qUXdPREVsTUNNR0ExVUVBd3djVkZKVlUxUXlOREE0SUZONWMzUmxiWFJsYzNRZ1dGaEpTU0JEUVRFT01Bd0dBMVVFQXd3RlExSk1Nall3SHdZRFZSMGpCQmd3Rm9BVXE2Z0JSQm13czBPWjJ2cDh6TklBR0FQblBMOHdIUVlEVlIwT0JCWUVGT1B6dW0wYmxOTkRLQzRHYnFIdGoxRXVIUjdSTUFrR0ExVWRFd1FDTUFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFKVWxtV3J6YmhVNVBIY2pWNW1jNUQzMW5zNHhqYjBWKzljejhZYlBRUWV3Wk9MVi9FeHhheEd0cndsY2x4UDVsM1R5MDFvZDU4bVV4ZjF3TndMc1ZjaXd6cTBlcDRFWkRGdmhlWWhDWDBSZlhPRlNPSVV5a1BhRWM1Zm9UMzVyN1g3NEdkMlg1NXNqTVVXRzdiTVFob1d1dDU2Q1h6bzJIQzBSUlRyRHoxdXI4Wm94ZEdZcUthUUNXL1YvYkdBd2V6ZUVsSFBnYzkySy91bFA0Mk1xM0NpRDA3ZWw2d3JUR2VMbUFWL3RMeklETURRaDJvTHp5anRUY2VCRjE1dHFCcDE4ODVKSjVLK091TmloOGtORWoyVU9jejFlUlRyNGhkUVNERk5VQU5sTTd2T25VUFpLcTIzcS80aVhNTCtmYU5zMnJ2QzBRQkE5NlNSZzMyWWVFSHc9PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L0tleUluZm8+PC9kczpTaWduYXR1cmU+PFN1YmplY3Q+PE5hbWVJRCBGb3JtYXQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpuYW1laWQtZm9ybWF0OnBlcnNpc3RlbnQiPlJYU0dZWFZFSkE8L05hbWVJRD48U3ViamVjdENvbmZpcm1hdGlvbiBNZXRob2Q9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpjbTpiZWFyZXIiPjxTdWJqZWN0Q29uZmlybWF0aW9uRGF0YSBOb3RPbk9yQWZ0ZXI9IjIwMTktMTEtMjlUMTI6MjE6NDEuMDIxWiIgLz48L1N1YmplY3RDb25maXJtYXRpb24+PC9TdWJqZWN0PjxDb25kaXRpb25zIE5vdEJlZm9yZT0iMjAxOS0xMS0yOVQxMjoxNjo0MC42OTFaIiBOb3RPbk9yQWZ0ZXI9IjIwMTktMTEtMjlUMTM6MTY6NDAuNjkxWiI+PEF1ZGllbmNlUmVzdHJpY3Rpb24+PEF1ZGllbmNlPnVybjpkazprbWQ6ZGQ6dmFsdWU6c3A6c3dpdGNoYm9hcmQ6a25vd251c2VyPC9BdWRpZW5jZT48L0F1ZGllbmNlUmVzdHJpY3Rpb24+PC9Db25kaXRpb25zPjxBdHRyaWJ1dGVTdGF0ZW1lbnQ+PEF0dHJpYnV0ZSBOYW1lPSJkazpnb3Y6c2FtbDphdHRyaWJ1dGU6QXNzdXJhbmNlTGV2ZWwiPjxBdHRyaWJ1dGVWYWx1ZT4yPC9BdHRyaWJ1dGVWYWx1ZT48L0F0dHJpYnV0ZT48QXR0cmlidXRlIE5hbWU9InVybjpkazprbWQ6ZGQ6YXR0cmlidXRlOnV0Ij48QXR0cmlidXRlVmFsdWU+dXJuOmRrOmttZDpkZDp2YWx1ZTp1dDpsb2NhbGZvY2Vzc2VydmljZXVzZXI8L0F0dHJpYnV0ZVZhbHVlPjwvQXR0cmlidXRlPjwvQXR0cmlidXRlU3RhdGVtZW50PjxBdXRoblN0YXRlbWVudCBBdXRobkluc3RhbnQ9IjIwMTktMTEtMjlUMTI6MTY6NDAuNTE5WiI+PEF1dGhuQ29udGV4dD48QXV0aG5Db250ZXh0Q2xhc3NSZWY+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFjOmNsYXNzZXM6WDUwOTwvQXV0aG5Db250ZXh0Q2xhc3NSZWY+PC9BdXRobkNvbnRleHQ+PC9BdXRoblN0YXRlbWVudD48L0Fzc2VydGlvbj4= } Response: StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: { Transfer-Encoding: chunked SwitchboardPerformanceInMs: 474.0738 Access-Control-Allow-Origin: * Cache-Control: private Date: Fri, 29 Nov 2019 12:16:41 GMT Server: datafordeler.dk X-Powered-By: datafordeler.dk Content-Type: application/json; charset=UTF-8 } [{"datafordelerOpdateringstid":"2016-10-07T19:27:59.802000+02:00","adgangsadressebetegnelse":"Spaden C 2, H›je Taastrup, 2630 Taastrup","afstemningsomr†de":{"id":"1566156","afstemningsomr†denummer":"06","navn":"Gadehaveskolen"},"forretningsh‘ndelse":"3","forretningsomr†de":"54.15.10.07","forretningsproces":"0","geoDanmarkBygning":"1005307686","husnummerretning":"POINT(0.946085358827545 -0.32391741819815)","husnummertekst":"2","id_lokalId":"0a3f507d-1a3d-32b8-e044-0003ba298018","id_namespace":"http://data.gov.dk/dar/husnummer","jordstykke":"402274","kommuneinddeling":{"id":"389114","kommunekode":"0169","navn":"H›je Taastrup"},"menighedsr†dsafstemningsomr†de":{"id":"1700977","mrafstemningsomr†denummer":"1","navn":"H›je Taastrup"},"registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsakt›r":"DAR","sogneinddeling":{"id":"107659","sognekode":"7152","navn":"H›je Taastrup"},"status":"3","vejmidte":"1006309113","virkningFra":"2016-09-16T12:34:43.000000+02:00","virkningsakt›r":"Konvertering2017","navngivenVej":{"datafordelerOpdateringstid":"2016-10-07T20:23:50.386000+02:00","administreresAfKommune":"0169","forretningsh‘ndelse":"0","forretningsomr†de":"54.15.10.06","forretningsproces":"0","id_lokalId":"55595d06-fac1-4a07-b7e8-7365fe9428cc","id_namespace":"http://data.gov.dk/dar/navngivenvej","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsakt›r":"DAR","status":"3","udtaltVejnavn":"Spaden C","vejadresseringsnavn":"Spaden C","vejnavn":"Spaden C","vejnavnebeliggenhed_oprindelse_kilde":"Ekstern","vejnavnebeliggenhed_oprindelse_n›jagtighedsklasse":"B","vejnavnebeliggenhed_oprindelse_registrering":"2016-09-01T18:20:58.068000+02:00","vejnavnebeliggenhed_oprindelse_tekniskStandard":"NO","vejnavnebeliggenhed_vejnavneomr†de":"POLYGON((706160.12 6172245.95,706186.79 6172080.73,706152.796674 6172075.24276,706126.126674 6172240.46276,706160.12 6172245.95))","virkningFra":"1900-01-01T13:00:00.000000+01:00","virkningsakt›r":"Konvertering2017SDFE","navngivenVejKommunedelList":[{"id_lokalId":"a07f8a98-6f7e-11e6-a528-063320a53a26","navngivenVejKommunedel":{"datafordelerOpdateringstid":"2016-10-07T20:24:18.076000+02:00","forretningsh‘ndelse":"1","forretningsomr†de":"54.15.10.06","forretningsproces":"0","id_lokalId":"a07f8a98-6f7e-11e6-a528-063320a53a26","id_namespace":"http://data.gov.dk/dar/navngivenvejkommunedel","kommune":"0169","navngivenVej":"55595d06-fac1-4a07-b7e8-7365fe9428cc","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsakt›r":"DAR","status":"3","vejkode":"7428","virkningFra":"1900-01-01T13:00:00.000000+01:00","virkningsakt›r":"Konvertering2017SDFE"}}]},"adgangspunkt":{"datafordelerOpdateringstid":"2016-10-07T17:45:04.681000+02:00","oprindelse_kilde":"Ekstern","oprindelse_n›jagtighedsklasse":"A","oprindelse_registrering":"2014-11-28T13:14:48.957000+01:00","oprindelse_tekniskStandard":"TK","position":"POINT(706176.77 6172114.13)"},"vejpunkt":{"datafordelerOpdateringstid":"2016-10-07T19:07:13.562000+02:00","oprindelse_kilde":"Ekstern","oprindelse_n›jagtighedsklasse":"B","oprindelse_registrering":"2016-09-01T18:22:45.177000+02:00","oprindelse_tekniskStandard":"V2","position":"POINT(706163.08 6172175.47)"},"supplerendeBynavn":{"datafordelerOpdateringstid":"2016-10-07T20:28:02.261000+02:00","forretningsh‘ndelse":"5","forretningsomr†de":"54.15.10.25","forretningsproces":"0","id_lokalId":"a684854a-3f14-438e-a763-9841ee1f12ad","id_namespace":"http://data.gov.dk/dar/supplerendebynavn","navn":"H›je Taastrup","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsakt›r":"DAR","status":"3","supplerendeBynavn":"1647901","virkningFra":"1753-01-01T00:50:00.000000+00:50","virkningsakt›r":"Konvertering2017"}}] Statuscode: OK Statuscode: StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: { Transfer-Encoding: chunked SwitchboardPerformanceInMs: 474.0738 Access-Control-Allow-Origin: * Cache-Control: private Date: Fri, 29 Nov 2019 12:16:41 GMT Server: datafordeler.dk X-Powered-By: datafordeler.dk Content-Type: application/json; charset=UTF-8 } Elapsed time in miliseconds: 550
Zip-fil med eksempel
Java
Client auth SSL
Eksemplet er oprettet for at vise Direct SSL klient certifikat autorisation på Datafordeleren.
Den originale SSL autorisationskode er uarbejdet af Pavan Solapure: https://github.com/pavansolapure/opencodez-samples/tree/master/2-way-ssl-authentication/ssl-client/src/main/java/com/opencodez
Dette eksempel er skabt ved at benytte Spring tool suite 4.3.2
Fremgangsmåde
- Kopier et FOCES eller VOCES service user keystore til
/etc/ folder
- Skab en reference til filen og din adgangskode i
SslClientApplication.java
filen - Skift url'en til den tjeneste på Datafordeleren, som du ønsker at benytte i
HttpClient.java
- Kør
ClientSSLTest.java class
, som enSpring Boot app
ellerJava application
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.1.8.RELEASE) 2019-11-29 13:39:16.508 INFO 1276 --- [ main] d.k.c.datafordeler.tests.ClientSSLTest : Starting ClientSSLTest on yyyyy with PID 1276 (C:\repos\java\Workspace1\DatafordelerClientCertExample\target\test-classes started by xxxxx in C:\repos\java\Workspace1\DatafordelerClientCertExample) 2019-11-29 13:39:16.510 INFO 1276 --- [ main] d.k.c.datafordeler.tests.ClientSSLTest : No active profile set, falling back to default profiles: default 2019-11-29 13:39:17.240 INFO 1276 --- [ main] d.k.c.datafordeler.tests.ClientSSLTest : Started ClientSSLTest in 1.212 seconds (JVM running for 1.682) [{"datafordelerOpdateringstid":"2016-10-07T19:27:59.802000+02:00","adgangsadressebetegnelse":"Spaden C 2, Høje Taastrup, 2630 Taastrup","afstemningsområde":{"id":"1566156","afstemningsområdenummer":"06","navn":"Gadehaveskolen"},"forretningshændelse":"3","forretningsområde":"54.15.10.07","forretningsproces":"0","geoDanmarkBygning":"1005307686","husnummerretning":"POINT(0.946085358827545 -0.32391741819815)","husnummertekst":"2","id_lokalId":"0a3f507d-1a3d-32b8-e044-0003ba298018","id_namespace":"http://data.gov.dk/dar/husnummer","jordstykke":"402274","kommuneinddeling":{"id":"389114","kommunekode":"0169","navn":"Høje Taastrup"},"menighedsrådsafstemningsområde":{"id":"1700977","mrafstemningsområdenummer":"1","navn":"Høje Taastrup"},"registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsaktør":"DAR","sogneinddeling":{"id":"107659","sognekode":"7152","navn":"Høje Taastrup"},"status":"3","vejmidte":"1006309113","virkningFra":"2016-09-16T12:34:43.000000+02:00","virkningsaktør":"Konvertering2017","navngivenVej":{"datafordelerOpdateringstid":"2016-10-07T20:23:50.386000+02:00","administreresAfKommune":"0169","forretningshændelse":"0","forretningsområde":"54.15.10.06","forretningsproces":"0","id_lokalId":"55595d06-fac1-4a07-b7e8-7365fe9428cc","id_namespace":"http://data.gov.dk/dar/navngivenvej","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsaktør":"DAR","status":"3","udtaltVejnavn":"Spaden C","vejadresseringsnavn":"Spaden C","vejnavn":"Spaden C","vejnavnebeliggenhed_oprindelse_kilde":"Ekstern","vejnavnebeliggenhed_oprindelse_nøjagtighedsklasse":"B","vejnavnebeliggenhed_oprindelse_registrering":"2016-09-01T18:20:58.068000+02:00","vejnavnebeliggenhed_oprindelse_tekniskStandard":"NO","vejnavnebeliggenhed_vejnavneområde":"POLYGON((706160.12 6172245.95,706186.79 6172080.73,706152.796674 6172075.24276,706126.126674 6172240.46276,706160.12 6172245.95))","virkningFra":"1900-01-01T13:00:00.000000+01:00","virkningsaktør":"Konvertering2017SDFE","navngivenVejKommunedelList":[{"id_lokalId":"a07f8a98-6f7e-11e6-a528-063320a53a26","navngivenVejKommunedel":{"datafordelerOpdateringstid":"2016-10-07T20:24:18.076000+02:00","forretningshændelse":"1","forretningsområde":"54.15.10.06","forretningsproces":"0","id_lokalId":"a07f8a98-6f7e-11e6-a528-063320a53a26","id_namespace":"http://data.gov.dk/dar/navngivenvejkommunedel","kommune":"0169","navngivenVej":"55595d06-fac1-4a07-b7e8-7365fe9428cc","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsaktør":"DAR","status":"3","vejkode":"7428","virkningFra":"1900-01-01T13:00:00.000000+01:00","virkningsaktør":"Konvertering2017SDFE"}}]},"adgangspunkt":{"datafordelerOpdateringstid":"2016-10-07T17:45:04.681000+02:00","oprindelse_kilde":"Ekstern","oprindelse_nøjagtighedsklasse":"A","oprindelse_registrering":"2014-11-28T13:14:48.957000+01:00","oprindelse_tekniskStandard":"TK","position":"POINT(706176.77 6172114.13)"},"vejpunkt":{"datafordelerOpdateringstid":"2016-10-07T19:07:13.562000+02:00","oprindelse_kilde":"Ekstern","oprindelse_nøjagtighedsklasse":"B","oprindelse_registrering":"2016-09-01T18:22:45.177000+02:00","oprindelse_tekniskStandard":"V2","position":"POINT(706163.08 6172175.47)"},"supplerendeBynavn":{"datafordelerOpdateringstid":"2016-10-07T20:28:02.261000+02:00","forretningshændelse":"5","forretningsområde":"54.15.10.25","forretningsproces":"0","id_lokalId":"a684854a-3f14-438e-a763-9841ee1f12ad","id_namespace":"http://data.gov.dk/dar/supplerendebynavn","navn":"Høje Taastrup","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsaktør":"DAR","status":"3","supplerendeBynavn":"1647901","virkningFra":"1753-01-01T00:50:00.000000+00:50","virkningsaktør":"Konvertering2017"}}]
Zip-fil med eksempel
Ubuntu 19
Client auth SSL
Eksemplet er oprettet for at vise Direct SSL klient certifikat autorisation på Datafordeleren.
Bemærk, at hvis dit FOCES eller VOCES certifikat er udstedt af en anden OCES certifikatkæde skal du importere disse certifikater i PEM format og have dem installeret, som beskrevet i nedenstående.
Tjek om du har de korrekte certifikater på /etc/ssl/certs/
Fremgangsmåde
- Placer de følgende PEM certifikater i /etc/ssl/certs/
DigiCert_SHA2_Secure_Server_CA.pem
TRUST2408_OCES_Primary_CA.pem
TRUST2408_OCES_CA_III.pem
TRUST2408_OCES_CA_IV.pem
TRUST2408_OCES_CA_V.pem
- Kør sudo c_rehash for at tilføje certifikaterne til systemet.
- Kør openssl s_client -connect datafordeler.dk:443 -cert pub.pem -key priv.key
Tjek følgende
Er pub.pem (FOCES certifikatet i PEM-format) placeret i den korrekte folder?
Er priv.key (den private nøgle for FOCES certifikatet i PEM-fomat) placeret i den korrekte folder?
Er output er uden fejl og stemmer det overens med nedenstående eksempel?
- Hent data ved at kørecurl -v --capath /etc/ssl/certs/ --cert pub.pem --key priv.key "https://certservices.datafordeler.dk/DKskaermkort/topo_skaermkort_graa/1.0.0/WMTS?SERVICE=WMTS&REQUEST=GetCapabilities" -o output.xml
Tjek følgende
Er pub.pem (FOCES certifikatet i PEM-format) placeret i den korrekte folder?
Er priv.key (den private nøgle for FOCES certifikatet i PEM-fomat) placeret i den korrekte folder?
Er output i xml uden fejl og stemmer det overens med nedenstående eksempel?
<?xml version="1.0" encoding="UTF-8"?> -<Capabilities version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns="http://www.opengis.net/wmts/1.0"> -<ows:ServiceIdentification> <ows:ServiceType>OGC WMTS</ows:ServiceType> <ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion> </ows:ServiceIdentification> -<ows:ServiceProvider> -<ows:ServiceContact> <ows:ContactInfo/> </ows:ServiceContact> </ows:ServiceProvider> -<ows:OperationsMetadata> -<ows:Operation name="GetCapabilities"> -<ows:DCP> -<ows:HTTP> -<ows:Get xlink:href="https://services.datafordeler.dk/DKskaermkort/topo_skaermkort_graa/1.0.0/Wmts?"> -<ows:Constraint name="GetEncoding"> -<ows:AllowedValues> <ows:Value>KVP</ows:Value> </ows:AllowedValues> </ows:Constraint> </ows:Get> </ows:HTTP> </ows:DCP> </ows:Operation> -<ows:Operation name="GetTile"> -<ows:DCP> -<ows:HTTP> -<ows:Get xlink:href="https://services.datafordeler.dk/DKskaermkort/topo_skaermkort_graa/1.0.0/Wmts?"> -<ows:Constraint name="GetEncoding"> -<ows:AllowedValues> <ows:Value>KVP</ows:Value> </ows:AllowedValues> </ows:Constraint> </ows:Get> </ows:HTTP> </ows:DCP> </ows:Operation> </ows:OperationsMetadata> -<Contents> -<Layer> <ows:Title>topo_skaermkort_graa</ows:Title> -<ows:WGS84BoundingBox> <ows:LowerCorner>2.478420 53.015000</ows:LowerCorner> <ows:UpperCorner>17.557800 58.640300</ows:UpperCorner> </ows:WGS84BoundingBox> <ows:Identifier>topo_skaermkort_graa</ows:Identifier> -<Style isDefault="true"> <ows:Identifier>default</ows:Identifier> </Style> <Format>image/png</Format> -<TileMatrixSetLink> <TileMatrixSet>View1</TileMatrixSet> -<TileMatrixSetLimits> -<TileMatrixLimits> <TileMatrix>View1:0</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>1</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>2</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:1</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>2</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>4</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:2</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>5</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>8</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:3</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>11</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>16</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:4</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>22</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>33</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:5</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>45</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>67</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:6</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>91</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>134</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:7</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>183</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>268</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:8</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>366</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>537</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:9</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>732</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>1074</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:10</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>1464</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>2148</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:11</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>2929</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>4296</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:12</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>5859</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>8593</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:13</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>11718</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>17187</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:14</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>23437</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>34374</MaxTileCol> </TileMatrixLimits> -<TileMatrixLimits> <TileMatrix>View1:15</TileMatrix> <MinTileRow>0</MinTileRow> <MaxTileRow>46874</MaxTileRow> <MinTileCol>0</MinTileCol> <MaxTileCol>68749</MaxTileCol> </TileMatrixLimits> </TileMatrixSetLimits> </TileMatrixSetLink> <ResourceURL template="https://services.datafordeler.dk/DKskaermkort/topo_skaermkort_graa/1.0.0/Wmts/topo_skaermkort_graa/default/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" format="image/png"/> </Layer> -<TileMatrixSet> <ows:Identifier>View1</ows:Identifier> -<ows:BoundingBox crs="urn:ogc:def:crs:EPSG:6.3:25832"> <ows:LowerCorner>120000.000000 5900000.000000</ows:LowerCorner> <ows:UpperCorner>1000000.000000 6500000.000000</ows:UpperCorner> </ows:BoundingBox> <ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.3:25832</ows:SupportedCRS> -<TileMatrix> <ows:Identifier>0</ows:Identifier> <ScaleDenominator>5851428.57142857182770967484</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>3</MatrixWidth> <MatrixHeight>2</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>1</ows:Identifier> <ScaleDenominator>2925714.28571428591385483742</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>5</MatrixWidth> <MatrixHeight>3</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>2</ows:Identifier> <ScaleDenominator>1462857.14285714295692741871</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>9</MatrixWidth> <MatrixHeight>6</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>3</ows:Identifier> <ScaleDenominator>731428.57142857147846370935</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>17</MatrixWidth> <MatrixHeight>12</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>4</ows:Identifier> <ScaleDenominator>365714.28571428573923185468</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>34</MatrixWidth> <MatrixHeight>23</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>5</ows:Identifier> <ScaleDenominator>182857.14285714286961592734</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>68</MatrixWidth> <MatrixHeight>46</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>6</ows:Identifier> <ScaleDenominator>91428.57142857143480796367</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>135</MatrixWidth> <MatrixHeight>92</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>7</ows:Identifier> <ScaleDenominator>45714.28571428571740398183</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>269</MatrixWidth> <MatrixHeight>184</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>8</ows:Identifier> <ScaleDenominator>22857.14285714285870199092</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>538</MatrixWidth> <MatrixHeight>367</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>9</ows:Identifier> <ScaleDenominator>11428.57142857142935099546</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>1075</MatrixWidth> <MatrixHeight>733</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>10</ows:Identifier> <ScaleDenominator>5714.28571428571467549773</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>2149</MatrixWidth> <MatrixHeight>1465</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>11</ows:Identifier> <ScaleDenominator>2857.14285714285733774886</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>4297</MatrixWidth> <MatrixHeight>2930</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>12</ows:Identifier> <ScaleDenominator>1428.57142857142866887443</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>8594</MatrixWidth> <MatrixHeight>5860</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>13</ows:Identifier> <ScaleDenominator>714.28571428571433443722</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>17188</MatrixWidth> <MatrixHeight>11719</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>14</ows:Identifier> <ScaleDenominator>357.14285714285716721861</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>34375</MatrixWidth> <MatrixHeight>23438</MatrixHeight> </TileMatrix> -<TileMatrix> <ows:Identifier>15</ows:Identifier> <ScaleDenominator>178.57142857142858360930</ScaleDenominator> <TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight> <MatrixWidth>68750</MatrixWidth> <MatrixHeight>46875</MatrixHeight> </TileMatrix> </TileMatrixSet> </Contents> </Capabilities>