Page History
...
Læseren forudsættes at være bekendt med de involverede teknologier, som f.eks. SOAP og DGWS.
Dokument historik
| Dato | Ansvarlig | Beskrivelse |
|---|---|---|
| Initiel version |
Definitioner og referencer
| Rerence | Beskrivelse |
|---|---|
| DGWS | Den Gode WebService |
| NotifikationBroker | Den snitflade som et afsender system kalder for at afsende adviseringer. |
| PullPoint | Den snitflade som et modtager system kalder for at hente adviseringer og nedlægge et pull point. |
| PullPointFactory | Den snitflade som et modtager system kalder for at oprette et pull point |
| IDList | Den snitflade som et modtager system kalder for at vedligeholde id lister. |
| SubscriptonManager | Den snitflade som et modtager system kalder for at oprette og nedlægge abonnementer. |
| WS-Notification | Den standard som der implementeres i NAS. For standard snitflader etc. se https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsn |
Introduktion til National Adviseringsservice
National Adviseringsservice er en service på NSP'en, der hjælper med at distribuere adviseringer fra et afsendersystem til et eller flere modtagersystemer via en standardiseret snitflade.
Et afsendersystem sender adviseringer på et givent topic. En advisering består af et topic, et eller flere ID'er, der kan filteres på og så selve adviseringen. Afsendelse af adviseringer sker via NotificationBroker-snitfladen. Før et system kan afsende adviseringer skal topic være oprettet i systemet.
Ønsker man hente adviseringer, sker det ved at modtagersystemet først opretter en evt. IDliste, et pullpoint og til sidst et abonnement på et emne og en evt. IDListe. Herefter er anvendersystemet klar til at hente adviseringer via det pullpoint der blev oprettet.
I snitfladebeskrivelsen er der, udover beskrivelse af selve snitfladen, en beskrivelse af et konkret brugsscenarie samt tilhørende eksempler på request og response.
Snitfladebeskrivelse
Generelt
Overordnet set er det WS-notication standarden, der implementeres og der henvises til disse snitflader. Ved hver af nedenstående operationer henvises der til, hvilken operation der er tale om i WS-notification standarden. De steder hvor der er specielle forhold til WS-notification standarden er disse også dokumenteret. Det er typisk hvilke krav der er til "any" elementerne.
Endpoints
Nedenstående er en tabel over endpoints for de forskellige services.
...
Inden der kan leveres adviseringer til et Topic skal dette eksplicit oprettes. Dette sker gennem en supporthenvendelse oprettet på nspop.dk.
Bemærk: Der skal indgås 'Tilslutningsaftale: - Specifikke vilkår for oprettelse af NAS 2.0 Topics, med opfyldelse navnestandard m.v. Venligst kontakt af NSP-Operatør på operator@nspop.dk
Navnet på alle Topics der ønskes oprettet skal følge denne skabelon:
...
Afsendersnitfladen er ikke for nuværende beskyttet af DGWS, og dermed sker sikkerhed på baggrund af IP whitelisting og det faktum at topic skal være oprettet i systemet for at det er muligt at afsende adviseringer.
Det vil dog overgå til at DGWS bliver påkrævet, og afsendere bør opdatere deres systemer til at håndtere dette, så man optager et token i STS'en inden man kalder nedenstående snitflader.
Hvis der er DGWS headers på kaldet vil disse blive verificeret. Hvis de ikke er inkluderet, vil requests gå igennem uden tjek, så længe det endnu ikke er påkrævet.
...
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" xmlns:ns10="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns11="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns12="http://docs.oasis-open.org/wsn/t-1" xmlns:ns13="http://nsi.dk/advis/v10">
<ns2:Header/>
<ns2:Body>
<ns9:NotifyResponse/>
</ns2:Body>
</ns2:Envelope>
|
Abonnementsnitflade
Abonnementsnitfladen er beskyttet af DGWS og det er derfor krævet at man har optaget et token i STS'en inden man kalder nedenstående snitflader.
...
Adviseringsservicens abonnent-snitflade anvender fødereret sikkerhed og kræver Den Gode Webservice 1.0.1-ID-kort på minimum niveau 3. Derfor skal EOJ-systemet indhente et ID-kort signereret af STS’en, der kan anvendes i kald af abonnent-snitfladens operationer. Denne del er ikke med i nedenstående beskrivelser og eksempler da det antages at anvender har kendskab til DGWS.
Bemærk, at der for adgang til Topics med whitelisting, kræves at ID-kortet er fra NewSecurityTokenService (ID-kort fra den tidligere anvendte SecurityTokenService kan ikke give adgang).
Anvendersystem opretter en id-liste
NAS-IM-1: Opret id liste |
|---|
| Som et eksternt system ønsker jeg at oprette en liste med positive id'er til filtrering af adviseringer. |
Der oprettes en CPR-nummer-baseret id-liste.
I anvendelse af id-listen herunder er det navnet (Name elementet) på id-listen, der indgår som kald-parameter.
Snitflade
Dette er ikke en del af WS-notification og derfor er hele snitfladen dokumenteret nedenfor. Det er CreateIDList operationen i IDList servicen der kaldes.
Oprettelse af ID liste sker ved hjælp af CreateIDListRequest elementet.
| CreateIDListRequest | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| Name | Ja | Ja | Navnet på den ID liste der ønskes oprettet. Hvis ID listen skal oprettes må navnet ikke findes i forvejen. Hvis det drejer sig om opdatering af en ID liste er det navnet på den liste der ønskes opdateret. |
| Description | Ja | Ja | Tekstuel beskrivelse af ID listen. |
| IDType | Ja | Ja | ID typen |
| Id | Ja | Ja | Liste af positive ID'er til ID listen. |
...
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.nsi.dk/2012/12/nas/idlist">
<ns2:Header>
<!-- DGWS headers -->
</ns2:Header>
<ns2:Body>
<ns8:CreateIDListResponse>
<ns8:ExistingListUpdated>false</ns8:ExistingListUpdated>
</ns8:CreateIDListResponse>
</ns2:Body>
</ns2:Envelope>
|
Anvendersystem opretter et pullpoint
NAS-PPF-1: Oprette et pullpoint |
|---|
| Som et eksternt system ønsker jeg at oprette et pullpoint. |
...
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://www.w3.org/2005/08/addressing" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2">
<ns2:Header>
<!-- DGWS headers -->
</ns2:Header>
<ns2:Body>
<ns8:CreatePullPointResponse>
<ns8:PullPoint>
<ns9:Address>http://localhost:8081/pullpoint/service/e4b99ea9-b2dd-4de3-89f5-a38b86b402fd</ns9:Address>
</ns8:PullPoint>
</ns8:CreatePullPointResponse>
</ns2:Body>
</ns2:Envelope> |
Anvendersystem opretter et abonnement på emne og id-liste
NAS-SM-1: Opret abonnement |
|---|
| Som et eksternt system ønsker jeg at oprette en liste med positive id'er til filtrering af adviseringer. |
...
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns13="http://nsi.dk/advis/v10">
<ns2:Header>
<!-- DWGS headers -->
</ns2:Header>
<ns2:Body>
<ns9:SubscribeResponse>Bemærk at dette er samme snitflade som oprettelse af ID liste. Name elementet skal blot referere til en eksisterende ID liste.
<ns9:SubscriptionReference>
<ns8:Address>http://localhost:8083/subscriptionmanager/service/ab48bed1-408b-49ff-a867-cd5253758c2c</ns8:Address>
</ns9:SubscriptionReference>
<ns9:TerminationTime xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</ns9:SubscribeResponse>
</ns2:Body>
</ns2:Envelope>
|
Anvendersystem indhenter adviseringer
NAS-PP-1: Afhenting af adviseringer |
|---|
| Som et eksternt system ønsker jeg at hente nye adviseringer fra NAS på et givent pullpoint |
...
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns10="http://www.w3.org/2005/08/addressing" xmlns:ns11="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns12="http://docs.oasis-open.org/wsn/t-1">
<ns2:Header>
<!-- DGWS HEADERS -->
</ns2:Header>
<ns2:Body>
<ns8:GetMessagesResponse>
<ns8:NotificationMessage>
<ns8:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns8:Topic>
<ns8:Message>
<ns13:NotifyContent xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" id="12345" idType="mintype-abc">
<test xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns5="http://docs.oasis-open.org/wsn/b-2" xmlns:ns6="http://docs.oasis-open.org/wsn/t-1" xmlns:ns7="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns8="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns9="http://nsi.dk/advis/v10"><noget>xml</noget></test>
</ns13:NotifyContent>
</ns8:Message>
</ns8:NotificationMessage>
<ns8:NotificationMessage>
<ns8:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns8:Topic>
<ns8:Message>
<ns13:NotifyContent xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" id="361c09bb-4bdd-495d-b8c4-87b3cce3755c" idType="mintype-abc">
<testElement xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns5="http://docs.oasis-open.org/wsn/b-2" xmlns:ns6="http://docs.oasis-open.org/wsn/t-1" xmlns:ns7="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns8="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns9="http://nsi.dk/advis/v10">
<tekst>xml tekst</tekst>
</testElement>
</ns13:NotifyContent>
</ns8:Message>
</ns8:NotificationMessage>
</ns8:GetMessagesResponse>
</ns2:Body>
</ns2:Envelope> |
Anvendersystem opdaterer id-liste
NAS-IM-2: Opdater id liste |
|---|
| Som et eksternt system ønsker jeg at opdatere, en tidligere oprettet, liste med positive id'er til filtrering af adviseringer. |
Anvendersystemet kan opdatere sin id-liste løbende. Identifikation af ID listen er det navn som der er anvendt da listen blev oprettet. Er id-listen (som her) anvendt i et abonnement, betyder det, når adviseringer efterfølgende afhentes er det den nye id liste der evalueres op mod. Opdatering sker ved at alle eksisterende ID'er slettes og de nye indsættes.
...
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.nsi.dk/2012/12/nas/idlist">
<ns2:Header>
<!-- DGWS headers -->
</ns2:Header>
<ns2:Body>
<ns8:CreateIDListResponse>
<ns8:ExistingListUpdated>true</ns8:ExistingListUpdated>
</ns8:CreateIDListResponse>
</ns2:Body>
</ns2:Envelope>
|
Anvendersystem nedlægger abonnement
endpointNAS-SM-2: Nedlæg abonnement |
|---|
| Som et eksternt system ønsker jeg at nedlægge et tidligere oprettet abonnement. |
...
Request består af nedenstående. Bemærk at den subscription der ønskes nedlagt refereres via sidste del ag URL'en.
| Unsubscribe | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| any | Nej | Nej | Anvendes ikke |
...
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns13="http://nsi.dk/advis/v10">
<ns2:Header>
<!-- DGWS headers -->
</ns2:Header>
<ns2:Body>
<ns9:UnsubscribeResponse/>
</ns2:Body>
</ns2:Envelope>
|
Anvendersystem nedlægger PullPoint
NAS-PP-2: Slette et pullpoint |
|---|
| Som et eksternt system ønsker jeg at slette et pullpoint. |
Når et anvendersystem ikke længere anvender et pullpoint kan det nedlægges med DestroyPullPoint operationen. Bemærk at pull point id anvendes som en del af endpoint når servicen den kaldes.
For at det er muligt at nedlægge et pull point må der IKKE være nogle subscriptions tilknyttet. Hvis der er dette returneres der en fejl til kalder.
Snitflade
Dette er operationen DestroyPullPoint på PullPoint der kaldes. I WS-notification hedder operationen DestroyPullPoint.
Request består af nedenstående. Bemærk at det pull point der ønskes nedlagt refereres via sidste del af URL'en.
| DestroyPullPoint | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| any | Nej | Nej | Anvendes ikke |
...
| DestroyPullPointResponse | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| any | Nej | Nej | Anvendes ikke |
Request
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns8="http://docs.oasis-open.org/wsn/b-2" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns9="http://www.w3.org/2005/08/addressing" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<ns2:Header>
<!-- DGWS headers -->
</ns2:Header>
<ns2:Body>
<ns8:DestroyPullPoint/>
</ns2:Body>
</ns2:Envelope> |
Response
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://www.w3.org/2005/08/addressing" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns13="http://nsi.dk/advis/v10">
<ns2:Header>
<!-- DGWS headers -->
</ns2:Header>
<ns2:Body>
<ns8:DestroyPullPointResponse/>
</ns2:Body>
</ns2:Envelope>
|
Anvendersystem nedlægger id-liste
NAS-IM-3: Slet id liste |
|---|
| Som et eksternt system ønsker jeg at slette, en tidligere oprettet, liste med positive id'er til filtrering af adviseringer. |
Når en ID liste ikke længere er tilknyttet en eller flere subscriptions kan det slettes med nedenstående kald. I svaret er der en indikation af om ID listen den fandtes eller ej.
Snitflade
Dette er operationen DestroyIDList på IDList der kaldes. Dette er ikke en del af WS-Notification.
Request består af nedenstående.
| DestroyIDListRequest | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| Name | Ja | Ja | Angiver navnet på den ID liste der ønskes slettet. |
...
NAS-SM-3: Spol subscription tilbage |
|---|
| Som et eksternt system ønsker jeg at spole en given subscription tilbage til et givent tidspunkt så jeg kan afhente tidligere afhentede notifikationer igen. |
Hvis et anvender system får brug at hente allerede afhentede notifikationer igen er det muligt at spole en given subscription tilbage til et givent tidspunkt. Det kan f.eks. være nødvendigt hvis en anvender har mistet data. NAS gemmer med jævne mellemrum hvor langt alle subscriptions er nået og der spoles tilbage til et tidspunkt umiddelbart før det ønskede tidspunkt.
Bemærk at der ikke kan spoles tilbage til et tidspunkt hvor data ikke længere er tilgængelige i NAS. Forsøger man alligevel får man returneret en fejl med mindste mulige tidspunkt. Selvom man spoler tilbage til det tidligst mulige tidspunkt så er der stadig risiko for at man ikke kan hente data da data kan være blevet slettet i det tidsrum man kalder RewindSubscription servicen og man kalder GetMessages.
Snitflade
Dette er operationen RewindSubscription på RewindSubscriptionServicen der kaldes. Servicen den udstilles af SubscriptionManager servicen. Dette er ikke en del af WS-Notification.
Request består af nedenstående.
| RewindSubscription | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| SubscriptionId | Ja | Ja | Den subscription der ønskes spolet tilbage. |
| RewindDate | Ja | Ja | Dato der ønskes spolet tilbage til. Der spoles tilbage til et tidspunkt umiddelbart før dette tidspunkt. Præcis dato der er spolet tilbage til returneres i svaret. |
...
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:nasns999="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:nasns998="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:nasns997="http://www.w3.org/2000/09/xmldsig#"
xmlns:nasns996="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd"
xmlns:ns5="http://docs.oasis-open.org/wsn/b-2"
xmlns:ns4="http://www.w3.org/2005/08/addressing"
xmlns:ns6="http://docs.oasis-open.org/wsrf/bf-2"
xmlns:ns7="http://docs.oasis-open.org/wsrf/rp-2"
xmlns:ns8="http://docs.oasis-open.org/wsn/t-1"
xmlns:ns9="http://nsi.dk/advis/v10">
<ns2:Header>
<!-- DGWS headers -->
</ns2:Header>
<ns2:Body>
<ns5:GetMessagesResponse>
<ns5:NotificationMessage>
<ns5:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">pullpointUnusedTopic</ns5:Topic>
<ns5:Message>
<ns9:NotifyContent isSystemNotification="true">
<text>Advarsel: Pullpoint har ikke været anvendt i længere tid og beskederne er blevet fjernet. Pullpoint er markeret som aktiv igen og vil igen begynde at modtage beskeder.</text>
</ns9:NotifyContent>
</ns5:Message>
</ns5:NotificationMessage>
</ns5:GetMessagesResponse>
</ns2:Body>
</ns2:Envelope>
|
Fejlscenarier
SubscriptionManager
| Snitflade | Fejlbesked | Håndtering af fejlen | |||
|---|---|---|---|---|---|
| IDList | Cvr <CVR> og it system <ITSystemName> ejer ikke id listen | Listen findes i forvejen men ejes af nogle andre. Sørg for at Name er korrekt | |||
| IDList | Kan ikke opdatere ID liste med anden ID liste type | Listen findes i forvejen, men med en anden id-type. Sørg for at typen er angivet korrekt. | |||
| IDList | Name er null eller tom | Sørg for at angive Name ved oprettelse af en liste. | |||
| IDList | IDType er null eller tom | Sørg for at angive IDType ved oprettelse af en liste. | |||
| IDList | ID er null eller tom | Sørg for at angive ID ved oprettelse af en liste. | |||
| IDList | Sikkerhedsbilletten var ikke valid | Sørg for at kaldet indeholder en gyldig sikkerhedsbillet (ticket). Tjek at ticket findes, og at ticket er valid, før du kalder NAS. | |||
| IDList | Fejl: Der må ikke være tilknyttet en person på sikkerhedsbilletten ved kald til NAS | Fjern eventuel “acting user” fra sikkerhedsbilletten. Kald til NAS må ikke ske på vegne af en person. | |||
| IDList | Fejl: Sikkerhedsbillettens organisation er ikke af type CVR | Sikr at organisationen på sikkerhedsbilletten er sat og har identifikatorformat CVR. | |||
| IDList | Fejl: Der er ikke angivet organisation på sikkerhedsbilletten | Sørg for, at organisation er sat i sikkerhedsbilletten. | |||
| NotificationBroker | Elementet 'TopicExpression' mangler i input. | Inkluder 'TopicExpression' i dit input. | |||
| NotificationBroker | Elementet 'TopicExpression' skal have et enkelt element under sig. | Sørg for kun at have ét element under 'TopicExpression'. | |||
| NotificationBroker | Elementet 'TopicExpression' må ikke have et tomt element under sig | Sørg for at elementet under 'TopicExpression' ikke er tomt. | |||
| NotificationBroker | Elementet 'TopicExpression' skal have et tekst element under sig. | Inkluder et tekst element under 'TopicExpression'. | |||
| NotificationBroker | Elementet 'TopicExpression' skal have et ikke-tomt tekst element under sig. | Sørg for at tekst elementet under 'TopicExpression' indeholder data. | |||
| NotificationBroker | Elementet 'Message' mangler i input. | Inkluder 'Message' elementet i dit input. | |||
| NotificationBroker | Elementet 'Message' skal have et enkelt element under sig. | Sørg for at 'Message' kun indeholder ét element. | |||
| NotificationBroker | Elementet 'Message' skal have et 'NotifyContent' element under sig. | Inkluder et 'NotifyContent' element under 'Message'. | |||
| NotificationBroker | Elementet 'NotifyContent' skal have en ID type. | Angiv en ID type for 'NotifyContent' elementet. | |||
| NotificationBroker | Elementet 'NotifyContent' skal have et ID. | Angiv et ID for 'NotifyContent' elementet. | |||
| NotificationBroker | Elementet 'NotifyContent' skal have en advisering. | Sørg for at 'NotifyContent' indeholder en advisering. | |||
| NotificationBroker | Beskederne [<index>, <antal>] blev ikke gemt. | Dette skyldes et bagvedliggende problem hos NSP. Kontakt NSP support. | |||
| NotificationBroker | Invalid besked. | Denne fejl kommer typisk kun hvis kaldet er tomt. Sørg for at requested er konstrueret korrekt. | |||
| NotificationBroker | Sikkerhedsbilletten var ikke valid | Sørg for at kaldet indeholder en gyldig sikkerhedsbillet (ticket). Tjek at ticket findes, og at ticket er valid, før du kalder NAS. | |||
| NotificationBroker | Fejl: Der må ikke være tilknyttet en person på sikkerhedsbilletten ved kald til NAS | Fjern eventuel “acting user” fra sikkerhedsbilletten. Kald til NAS må ikke ske på vegne af en person. | |||
| NotificationBroker | Fejl: Sikkerhedsbillettens organisation er ikke af type CVR | Sikr at organisationen på sikkerhedsbilletten er sat og har identifikatorformat CVR. | |||
| NotificationBroker | Fejl: Der er ikke angivet organisation på sikkerhedsbilletten | Sørg for, at organisation er sat i sikkerhedsbilletten. | |||
| PullPoint | Unknown operation: <OperationName> | Sørg for at du kalder | PullPoint | Unknown operation: <OperationName> | Sørg for at du kalder med en gyldig operation, dvs. enten DestroyPullPointRequest eller GetMessagesRequest. |
| PullPoint | DestroyPullPoint må ikke være null | Denne fejl kommer hvis body i requested er null. Sørg for at requested er konstrueret korrekt. | |||
| PullPoint | Pullpoint findes ikke: <PullPointId> | Sørg for at PullPointId er korrekt og eksisterer i systemet. | |||
| PullPoint | IDCard has no certificate info. IDCard from the NewSecurityTokenService must be used. | Sørg for at bruge et ID-kort med gyldig certifikatinformation fra NewSecurityTokenService. | |||
| PullPoint | CVR <CVR> og subjectSerialNumber <SubjectSerialNumber> har ikke adgang til topic: <Topic> | Sørg for at CVR og SubjectSerialNumber har de nødvendige rettigheder til at tilgå det pågældende topic. | |||
| PullPoint | <CVR> og <ITSystemName> ejer ikke pullpoint | Sørg for at du bruger et pullpoint som du ejer. PullPoint står med en anden ejer i systemet. | |||
| PullPoint | Topic <Topic> findes ikke. | Sørg for at topic'et eksisterer og er stavet korrekt. | |||
| PullPoint | Typen er enten BACKEND_PROBLEM eller TIMEOUT_EXCEEDED | Dette er et internt problem på NSP. Kontakt NSP support. | |||
| PullPoint | Samtidig brug af pullpoint service ikke supporteret. | Dette er et internt problem på NSP. Kontakt NSP support. | |||
| PullPoint | Pullpoint, <PullPointId>, har abonnementer <Antal>. | Før du forsøger at slette eller ændre et PullPoint, sørg for at afmelde eller fjerne alle aktive subscriptions fra det. | |||
| PullPoint | Pullpoint findes ikke: <PullPointId> | Sikr dig, at PullPointId er korrekt, og at det specificerede pullpoint faktisk er oprettet og tilgængeligt i systemet. | |||
| PullPoint | IDCard has no certificate info. IDCard from the NewSecurityTokenService must be used. | Sørg for at du har fået sat ID-kortet korrekt på requested og at det er gyldigt. | |||
| PullPoint | CVR <CVR> og subjectSerialNumber <SubjectSerialNumber> har ikke adgang til topic: <Topic> | Sørg for Topic er angivet korrekte Fejlen tyder på at topic tilhører et andet CVR og/eller system. | PullPointFactory | ||
| PullPoint | Sikkerhedsbilletten var ikke valid | Sørg for at kaldet indeholder en gyldig sikkerhedsbillet (ticket). Tjek at ticket findes, og at ticket er valid, før du kalder NAS. | |||
| PullPoint | Fejl: Der må ikke være tilknyttet en person på sikkerhedsbilletten ved kald til NAS | Fjern eventuel “acting user” fra sikkerhedsbilletten. Kald til NAS må ikke ske på vegne af en person. | |||
| PullPoint | Fejl: Sikkerhedsbillettens organisation er ikke af type CVR | Sikr at organisationen på sikkerhedsbilletten er sat og har identifikatorformat CVR. | |||
| PullPoint | Fejl: Der er ikke angivet organisation på sikkerhedsbilletten | Sørg for, at organisation er sat i sikkerhedsbilletten. | |||
| PullPointFactory | Unknown operation: <OperationName> | Sørg for, at den anvendte , at den anvendte SoapAction er 'CreatePullPoint'. Fejlen tyder på man har angivet en ugyldig operation. | |||
| PullPointFactory | CreatePullPoint må ikke være null. | Undersøg om requestet indeholder alle nødvendige data og ikke er tomt.og ikke er tomt. | |||
| PullPointFactory | Sikkerhedsbilletten var ikke valid | Sørg for at kaldet indeholder en gyldig sikkerhedsbillet (ticket). Tjek at ticket findes, og at ticket er valid, før du kalder NAS. | |||
| PullPointFactory | Fejl: Der må ikke være tilknyttet en person på sikkerhedsbilletten ved kald til NAS | Fjern eventuel “acting user” fra sikkerhedsbilletten. Kald til NAS må ikke ske på vegne af en person. | |||
| PullPointFactory | Fejl: Sikkerhedsbillettens organisation er ikke af type CVR | Sikr at organisationen på sikkerhedsbilletten er sat og har identifikatorformat CVR. | |||
| PullPointFactory | Fejl: Der er ikke angivet organisation på sikkerhedsbilletten | Sørg for, at organisation er sat i sikkerhedsbilletten. | |||
| SubscriptionManager | Der skal være et filter | Inkluder et filter i subscribe-requestet | |||
| SubscriptionManager | Der skal være en consumer reference med en adresse. | Tilføj en 'ConsumerReference' med en gyldig adresse i requestet | |||
| SubscriptionManager | PullPoint skal indeholde korrekt URL. Kaldt med: <URL> | Sørg for, at URL'en i 'PullPoint' matcher det forventede format og syntaks. | |||
| SubscriptionManager | ProducerProperties understøttes ikke. | Undlad at inkludere 'ProducerProperties' i din anmodning, da de ikke understøttes. | |||
| SubscriptionManager | Kun et MessageContent filter er understøttet. | Brug kun et MessageContent i requestet. | |||
| SubscriptionManager | Invalid filter dialekt: <DIALECT> | Sørg for at anvende en understøttet filterdialekt. | |||
| SubscriptionManager | Ukendt TopicExpression: <TOPIC> | Sørg for, at det angivne 'TopicExpression' er korrekt og kendt af systemet. | |||
| SubscriptionManager | Kun et TopicExpression er understøttet. | Inkluder præcist ét 'TopicExpression' i din anmodning. | |||
| SubscriptionManager | Kun simple dialekt er understøttet: <DIALECT> | Lige pt. understøttes der kun http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple. Sørg for, at du har angivet det korrekt. | |||
| SubscriptionManager | Der skal være et TopicExpression element. | Tilføj mindst ét 'TopicExpression' element i din subscribe-anmodning. | |||
| SubscriptionManager | Der skal være præcist et element i topic expression. | Sørg for at der kun er ét element i 'TopicExpression'. | |||
| SubscriptionManager | Invalid indhold i MessageContent. | Sørg for at indholdet i 'MessageContent' filteret er korrekt formateret og gyldigt. | |||
| SubscriptionManager | Der skal være en IdList eller SingleID i IDFIlter. | Inkluder enten en 'IdList' eller 'SingleID' i 'IDFilter' delen af dit request. | |||
| SubscriptionManager | Type skal være ens for alle ID'er. | Sørg for, at alle ID'er i en 'IdList' er af samme type, for at undgå denne fejl. | |||
| SubscriptionManager | PullPoint findes ikke: <PullPointId> | Sørg for, at PullPointId er korrekt og at det angivne pullpoint faktisk findes i systemet. | |||
| SubscriptionManager | CVR <CVR> og it system <ITSystemName> ejer ikke pull point <PullPointId> | Sørg for, at PullPointId er angivet korrekt. Fejlen tyder på, at det ejes af et andet CVR og/eller system. | |||
| SubscriptionManager | Topic findes ikke: <Topic> | Sørg for, at det angivne topic eksisterer og er korrekt angivet i requestet | |||
| SubscriptionManager | IDCard has no certificate info. IDCard from the NewSecurityTokenService must be used. | Sørg for, at ID-kortet indeholder gyldig certifikatinformation fra STS'en, som fås ved kald til NewSecurityTokenService. | |||
| SubscriptionManager | CVR <CVR> og subjectSerialNumber <SubjectSerialNumber> har ikke adgang til topic: <Topic> | Sørg for at du har angivet det korrekte id. Topic står med en anden ejer. | |||
| SubscriptionManager | Kan ikke finde subscription: <SubscriptionId> | Sørg for at du har angivet det korrekte id. Subscription findes ikke. | |||
| SubscriptionManager | CVR <CVR> og it system <ITSsystemName> er ikke ejer af subscription <SubscriptionId> | Sørg for at du har angivet det korrekte id. Subscription står med en anden ejer. | |||
| SubscriptionManager | ID list findes ikke: <FilterName> | Sørg for at du har angivet det korrekte id. | |||
| SubscriptionManager | <Owner> ejer ikke id liste <OwnerId> | Sørg for at OwnerID er angivet korrekt. | |||
| SubscriptionManager | Not possible to rewind subscription to requested date. Oldest possible date is <Dato> | Sørg for, at den anmodede dato ikke ligger efter den, der er angivet i fejlbeskeden. | |||
| SubscriptionManager | Sikkerhedsbilletten var ikke valid | Sørg for at kaldet indeholder en gyldig sikkerhedsbillet (ticket). Tjek at ticket findes, og at ticket er valid, før du kalder NAS. | |||
| SubscriptionManager | Fejl: Der må ikke være tilknyttet en person på sikkerhedsbilletten ved kald til NAS | Fjern eventuel “acting user” fra sikkerhedsbilletten. Kald til NAS må ikke ske på vegne af en person. | |||
| SubscriptionManager | Fejl: Sikkerhedsbillettens organisation er ikke af type CVR | Sikr at organisationen på sikkerhedsbilletten er sat og har identifikatorformat CVR. | |||
| SubscriptionManager | Fejl: Der er ikke angivet organisation på sikkerhedsbilletten | Sørg for, at organisation er sat i sikkerhedsbilletten. |