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 vedlige holde 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
...
Afsender sender advisering med CPR-nummer
NAS-NB-1: Aflevering af advisering |
|---|
| Som et eksternt system ønsker jeg at aflevere en advisering til NAS2, så denne kan distribueres videre til abonnenter på det angivne topic |
Følgende er et eksempel på advisering med id-filtrerbart indhold.
...
Request består af nedenstående.
| Notify | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| NotificationMessage | Ja | Ja | Et eller flere NotificationMessage elementer. |
| any | Nej | Nej | Anvendes ikke |
| NotificationMessage | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| SubscriptionReference | Ja | Ja | Et eller flere NotificationMessage elementer. |
| Topic | Ja | Ja | Element af typen TopicExpressionType |
| ProducerReference | Nej | Nej | Anvendes ikke. |
| Message | Selve adviseringen der skal bestå af et NotifyContent element | ||
| TopicExpressionType | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| Dialect (attribute) | Ja | Ja | Skal have værdien http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple. Bemærk at dette er en attribute. |
| Content | Ja | Ja | Topic der sendes adviseringer til. |
| NotifyContent | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| Id (attribute) | Ja | Ja | ID adviseringen vedrører. |
| idType (attribute) | Ja | Ja | ID type adviseringen vedrører. |
| any | Ja | Ja | Indhold af adviseringen. |
Response består af nedenstående. Er et tome element.
| NotifyResponse | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
Request
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns6="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns5="http://docs.oasis-open.org/wsn/b-2" xmlns:ns8="http://docs.oasis-open.org/wsn/t-1" xmlns:ns7="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns9="http://nsi.dk/advis/v10" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
<ns2:Header/>
<ns2:Body>
<ns5:Notify>
<ns5:NotificationMessage>
<ns5:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns5:Topic>
<ns5:Message>
<ns9:NotifyContent id="2512484916" idType="http://nsi.dk/advis/v10/CPR" isSystemNotification="false">
<ns9:NotifyContent id="12345" idType="mintype-abc">
<test><noget>xml</noget></test>
</ns9:NotifyContent>
</ns9:NotifyContent>
</ns5:Message>
</ns5:NotificationMessage>
</ns5:Notify>
</ns2:Body>
</ns2:Envelope>
|
...
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.
...
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. |
Response
| CreateIDListResponse | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| ExistingListUpdates | Ja | Ja | Boolean indikator om der er oprettet en ID liste eller opdateret en eksisterende ID liste. |
Request
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.nsi.dk/2012/12/nas/idlist" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
<ns2:Header>
<!-- DGWS headers -->
</ns2:Header>
<ns2:Body>
<ns8:CreateIDListRequest>
<ns8:Name>en-cpr-id-liste</ns8:Name>
<ns8:Description>This is a description</ns8:Description>
<ns8:IDType>http://nsi.dk/advis/v10/CPR</ns8:IDType>
<ns8:Id>CPR1</ns8:Id>
<ns8:Id>CPR2</ns8:Id>
</ns8:CreateIDListRequest>
</ns2:Body>
</ns2:Envelope>
|
...
Anvendersystem opretter et pullpoint
NAS-PPF-1: Oprette et pullpoint |
|---|
| Som et eksternt system ønsker jeg at oprette et pullpoint. |
For at et anvendersystem kan indhente adviseringer skal der orpettes et pull point. Et pull point er en adresse hvor fra der kan afhentes adviseringer. I svaret returneres der en reference der skal anvendes når GetMessages skal kaldes.
...
Create pull point består udelukkende af et tomt CreatePullPoint element. Se nedenstående request for eksempel.
| CreatePullPoint | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| any | Nej | Nej | "Fritekst" element der ikke anvendes. |
Svaret består af nedenstående element.
| CreatePullPointResponse | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| PullPoint | Ja | Ja | Pull point reference. Skal anvendes når GetMessages kaldes. |
| any | Nej | Nej | "Fritekst" felt der ikke anvendes |
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:CreatePullPoint/>
</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. |
Ved oprettelse af abonnement knyttes et pullpoint sammen med et topic. Dermed bliver der oprettet et abonnement på et givent topic til et givent pull point. Dette abonnement kan indeholde enten navnet på en eksisterende id liste, en liste af id'er eller ingen af disse to. Ved angivelse af enten en id liste eller en liste af ider filtreres adviseringer på det angivne topic i forhold til de id'er der er i listen. Hvis der hverken er angivet ID'er eller navnet på en ID liste så modtages alle adviseringer på det topic der oprettes abonnement på.
...
Request består af nedenstående
| Subscribe | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| ConsumerReference | Ja | Ja | Reference til det pull point der er oprettet tidligere. |
| Filter | Ja | Ja | Element af typen FilterType. |
| InitialTerminationTime | Nej | Nej | Anvendes ikke. |
| SubscriptionPolicy | Nej | Nej | Anvendes ikke. |
| any | Nej | Nej | Anvendes ikke. |
| FilterTypeBemærk at dette er samme snitflade som oprettelse af ID liste. Name elementet skal blot referere til en eksisterende ID liste. | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| any | Ja | Ja | Liste af elementer. Skal indeholde et eller to elementer.
|
| TopicExpressionType | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| Ja | Ja | Værdien i TopicExpressionType elementet indeholder det topic der oprettes abonnement på. | |
| IDFilter | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| IDList | Nej | Ja | Element af typen IDList. |
| SingleID | Nej | Ja | Liste af typen SingleID. |
| XPathFilter | Nej | Nej | Anvendes ikke |
| IDList | |||
| Attribute | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| name | Ja | Ja | Navnet på en eksisterende id liste. Bemærk at dette er en attribute på IDList typen. |
| Det er GetMessages operationen der kaldes. SingleID | |||
| Attribute | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| id | Ja | Ja | ID værdien. Bemærk at dette er en attribute på SingleID typen. |
| idType | Ja | Ja | ID typen. Bemærk at dette er en attribute på SinBemærk at dette er samme snitflade som oprettelse af ID liste. Name elementet skal blot referere til en eksisterende ID liste. gleID typen. Alle idType værdier skal være ens for hele listen af SingleID elementer. |
Response består af nedenstående
| SubscribeResponse | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| SubscriptionReference | Ja | Ja | Reference til netop oprettet subscription. |
| CurrentTime | Nej | Nej | Anvendes ikke. |
| TerminationTime | Nej | Nej | Anvendes ikke. |
| any | Nej | Nej | Anvendes ikke. |
Request
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" 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="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
<ns2:Header>
<!-- DGWS headers -->
</ns2:Header>
<ns2:Body>
<ns9:Subscribe>
<ns9:ConsumerReference>
<ns8:Address>e4b99ea9-b2dd-4de3-89f5-a38b86b402fd</ns8:Address>
</ns9:ConsumerReference>
<ns9:Filter>
<ns9:TopicExpression Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns9:TopicExpression>
<ns9:MessageContent Dialect="http://nsi.dk/advis/v10/IDMCP_Dialect">
<ns13:IDFilter>
<ns13:IDList name="en-cpr-id-liste"/>
</ns13:IDFilter>
</ns9:MessageContent>
</ns9:Filter>
</ns9:Subscribe>
</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 |
Nedenstående viser eksempel på hvordan operationen GetMessages i PullPoint kaldes. Bemærk at anvendersystemet skal bruge den del af pull point referencen der indentificerer et givent pull point når GetMessages kaldes. Denne reference blev returneret da CreatePullPoint blev kaldt i PullPointFactory. Se under punktet "anvendersystem opretter et pullpoint" for hvilken del af pull point referencen der identificerer et givent pull point.
...
Request består af nedenstående.
| GetMessages | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| MaximumNumber | Ja | Ja | Maksimalt antal adviseringer der ønskes returenret. |
Response består af nedenstående.
| GetMessagesResponse | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| NotificationMessage | Nej | Ja | Liste af NotifikationMessage. Format er beskrevet under Notify operationen. |
Request
Endpoint: http://NAS20/pullpoint/e4b99ea9-b2dd-4de3-89f5-a38b86b402fd
...
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.
...
Anvendersystem nedlægger abonnement
endpointNAS-SM-2: Nedlæg abonnement |
|---|
| Som et eksternt system ønsker jeg at nedlægge et tidligere oprettet abonnement. |
Når et abonnement skal nedlægges, skal den subscription endpoint reference, der blev returneret med oprettelsen anvendes.
...
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 |
Response består af nedenstående.
| UnsubscribeResponse | |||
| 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://www.w3.org/2000/09/xmldsig#" xmlns:ns5="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" 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="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
<ns2:Header>
<!-- DGWS headers -->
</ns2:Header>
<ns2:Body>
<ns9:Unsubscribe/>
</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 anvender som en del af endpoint når servicen den kaldes.
...
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 |
Response består af nedenstående. Det er blot et tomt element.
| 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> |
...
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.
...
Request består af nedenstående.
| DestroyIDListRequest | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| Name | Ja | Ja | Angiver navnet på den ID liste der ønskes slettet. |
Response består af nedenstående.
| DestroyIDListResponse | |||
| Element | Krævet | Anvendt | Beskrivelse |
|---|---|---|---|
| NoSuchList | Ja | Ja | Boolean værdi for om ID listen fandtes eller ej. |
Request
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.nsi.dk/2012/12/nas/idlist" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
<ns2:Header>
<!-- DGWS headers -->
</ns2:Header>
<ns2:Body>
<ns8:DestroyIDListRequest>
<ns8:Name>en-cpr-id-liste</ns8:Name>
</ns8:DestroyIDListRequest>
</ns2:Body>
</ns2:Envelope>
|
...