Dette dokument er en vejledning til anvendelse af den Nationale Adviseringsservice (NAS). På baggrund af dokumentet er det muligt at udvikle adviseringskildesystemer og adviseringsmodtagersystemer.
Formålet med dette dokument er at vejlede udviklere, der skal udvikle eller vedligeholde systemer, som anvender snitflader på National Adviseringsservice.
Dette dokument er rettet mod udviklere, der skal udvikle eller teste services, der har grænseflader mod National Adviseringsservice.
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 |
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 |
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.
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.
Nedenstående er en tabel over endpoints for de forskellige services.
Service | Endpoint |
---|---|
Pull point factory | /nas2/pullpointfactory |
ID list | /nas2/idlist |
Subscription manager | /nas2/subscriptionmanager |
Notification broker | /nas2/notificationbroker |
Pull point factory | /nas2/pullpointfactory |
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å nsp.op@nsi.dk
Navnet på alle Topics der ønskes oprettet skal følge denne skabelon:
http://ejer.dk/projekt/år/måned/dag:hændelse |
Der er mulighed for whitelisting på et Topic, så kun godkendte klienter har adgang til at oprette abonnement og hente beskeder for et Topic. Adgangsstyringen vil i så fald ske på baggrund af CVR, CVR-Xid eller UUID i certifikatet ved et kald til servicen.
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.
Scenarie for afsender
Det Fælles Medicin kort udsender en advisering på emnet TESTNAS-TOPIC1, omhandlende et specifikt cpr-nummer.
Scenariet omfatter:
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.
Snitflade
Dette er operationen Notify på NotificationBroker der kaldes. I WS-notification hedder operationen Notify.
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 | Nej | Nej | Anvendes ikke. |
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 tomt element.
NotifyResponse | |||
Element | Krævet | Anvendt | Beskrivelse |
---|
Request med DGWS headers
<?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> <!-- DGWS headers --> </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> |
Request uden DGWS headers (UDFASES)
<?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> |
Response med DGWS headers
<?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> <!-- DGWS headers --> </ns2:Header> <ns2:Body> <ns9:NotifyResponse/> </ns2:Body> </ns2:Envelope> |
Response uden DGWS headers (UDFASES)
<?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> |
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.
Nedenstående beskrivelse af hvordan et anvendersystem kan benytte adviseringsservicens abonnent-snitflade tager udgangspunkt i et scenarie, der kort beskrives her.
Scenarie for abonnement
Et elektronisk omsorgsjournal-system (EOJ-system) ønsker at modtage adviseringer udsendt fra Det Fælles Medicinkort (FMK).
Efter kontakt med FMK har EOJ-organisationen erfaret, at det er FMK’s emne TESTNAS-TOPIC1, der anvender CPR-nummer-baseret id-filtrering, der ønskes abonnement på.
Adviseringer på dette emne udsendes allerede, de fleste vedrørende borgere uden for EOJ-systemets interesseområde. EOJ-system planlægger derfor at abonnere ved brug af en id-liste over borgere inden for interesseområdet; en id-liste, der navngives "en-cpr-id-liste".
EOJ-systemet udstiller ikke NotificationConsumer-snitfladen fra standarden WS-NOTIFICATION og ønsker derfor at gøre brug af et pullpoint.
Scenariet omfatter:
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).
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. |
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
<?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> |
Response
<?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> |
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.
Snitflade
Dette er operationen CreatePullPoint på PullPointFactory der kaldes. I WS-notification hedder operationen CeratePullPoint.
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. Sidste del af path skal anevndes når GetMessages kaldes. |
any | Nej | Nej | "Fritekst" felt der ikke anvendes |
Request
<?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> |
Response
<?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> |
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å.
I svaret returneres der en endpoint reference der skal bruges når et abonnement skal nedlægges.
Bemærk at der kan være whitelisting på adgangen til et Topic. I så fald vil kun godkendte systemer have mulighed for at oprette et abonnement på det givne Topic.
Snitflade
Dette er operationen Subscribe på SubscriptionManager der kaldes. I WS-notification hedder operationen Subscribe.
Request består af nedenstående
Subscribe | |||
Element | Krævet | Anvendt | Beskrivelse |
---|---|---|---|
ConsumerReference | Ja | Ja | Reference til det pull point der er oprettet tidligere. Skal være komplet URL som returneret fra CreatePullPoint. |
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
<?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>http://localhost:8081/pullpoint/service/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> |
Response
<?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> |
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.
Når GetMessages kaldes, tjekkes det, at kalder har adgang til det tilknyttede Topic. Hvis der ikke er adgang, returneres en fejl til kalder.
Snitflade
Dette er operationen GetMessages på PullPoint der kaldes. I WS-notification hedder operationen GetMessages.
Request består af nedenstående.
GetMessages | |||
Element | Krævet | Anvendt | Beskrivelse |
---|---|---|---|
MaximumNumber | Ja | Ja | Maksimalt antal adviseringer der ønskes returenret. |
includeReceivedTimestampsInMessage (attribute) | Nej | Ja | Bemærk at dette er en attribute. Hvis denne attribute forefindes og har value="true", vil response indeholde tidsstempel for hvornår en advisering er modtaget af NAS. |
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 med includeReceivedTimestampsInMessage
Endpoint: http://NAS20/pullpoint/e4b99ea9-b2dd-4de3-89f5-a38b86b402fd
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:Envelope xmlns:ns6="http://docs.oasis-open.org/wsn/t-1" xmlns:ns5="http://www.w3.org/2005/08/addressing" xmlns:ns8="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns7="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns9="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns12="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns11="http://www.w3.org/2000/09/xmldsig#" xmlns:ns10="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://docs.oasis-open.org/wsn/b-2" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd"> <ns2:Header> <!-- DGWS HEADERS --> </ns2:Header> <ns2:Body> <ns4:GetMessages ns14:includeReceivedTimestampsInMessage="true" xmlns:ns14="http://sundhedsdatastyrelsen.dk/nas/2021/04/23"> <ns4:MaximumNumber>1000</ns4:MaximumNumber> </ns4:GetMessages> </ns2:Body> </ns2:Envelope> |
Request uden includeReceivedTimestampsInMessage
Endpoint: http://NAS20/pullpoint/e4b99ea9-b2dd-4de3-89f5-a38b86b402fd
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:Envelope xmlns:ns6="http://docs.oasis-open.org/wsn/t-1" xmlns:ns5="http://www.w3.org/2005/08/addressing" xmlns:ns8="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns7="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns9="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns12="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns11="http://www.w3.org/2000/09/xmldsig#" xmlns:ns10="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://docs.oasis-open.org/wsn/b-2" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd"> <ns2:Header> <!-- DGWS HEADERS --> </ns2:Header> <ns2:Body> <ns4:GetMessages> <ns4:MaximumNumber>1000</ns4:MaximumNumber> </ns4:GetMessages> </ns2:Body> </ns2:Envelope> |
Response med notifyReceived
<?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" xmlns:nasns998="http://sundhedsdatastyrelsen.dk/nas/2021/04/23" id="12345" idType="mintype-abc" nasns998:NotifyReceived="2021-04-23T14:05:04+02:00"> <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" xmlns:nasns998="http://sundhedsdatastyrelsen.dk/nas/2021/04/23" id="361c09bb-4bdd-495d-b8c4-87b3cce3755c" idType="mintype-abc" nasns998:NotifyReceived="2021-04-23T14:05:06+02:00"> <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> |
Response uden notifyReceived
<?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> |
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.
Opdatering sker med samme kald som ved oprettelse, men returnerer en indikation af, om listen eksisterede.
Snitflade
Bemærk at dette er samme snitflade som oprettelse af ID liste. Name elementet skal blot referere til en eksisterende ID liste. Derfor henvises der til opret ID liste for snitflade dokumentation.
Request
<?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>CPR2</ns8:Id> <ns8:Id>CPR3</ns8:Id> </ns8:CreateIDListRequest> </ns2:Body> </ns2:Envelope> |
Response
<?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> |
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 ved oprettelsen anvendes.
Bemærk, at anvendersystemet skal kalde en service-port, der peger på en URL bestående af en adresse, som anvendersystemet tilgår SubscriptionManager-servicen med, samt identifikation af det specifikke abonnements subscription endpoint.
Snitflade
Dette er operationen Unsubscribe på SubscriptionManager der kaldes. I WS-notification hedder operationen Unsubscribe.
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
<?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> |
Response
<?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> |
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 |
Response består af nedenstående. Det er blot et tomt element.
DestroyPullPointResponse | |||
Element | Krævet | Anvendt | Beskrivelse |
---|---|---|---|
any | Nej | Nej | Anvendes ikke |
Request
<?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
<?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> |
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. |
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
<?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> |
Response
<?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.nsi.dk/2012/12/nas/idlist"> <ns2:Header> <!-- DGWS headers --> </ns2:Header> <ns2:Body> <ns8:DestroyIDListResponse> <ns8:NoSuchList>false</ns8:NoSuchList> </ns8:DestroyIDListResponse> </ns2:Body> </ns2:Envelope> |
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. |
Response består af nedenstående.
RewindSubsriptionResponse | |||
Element | Krævet | Anvendt | Beskrivelse |
---|---|---|---|
RewindDate | Ja | Ja | Tidspunkt der er spolet tilbage til. |
Request
<?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:medcom="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sosi="http://www.sosi.dk/sosi/2006/04/sosi-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Envelope"> <soapenv:Header> <!-- DGWS headers --> </soapenv:Header> <S:Body xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:ns2="http://svn.medcom.dk/svn/releases/Standarder/DGWS/Schemas/medcom-1.0.1.xsd" xmlns:ns3="http://www.sundhedsdatastyrelsen.dk/nas/rewindsubscription/2021/09/07" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <ns3:RewindSubscriptionRequest xmlns:ns3="http://www.sundhedsdatastyrelsen.dk/nas/rewindsubscription/2021/09/07"> <ns3:SubscriptionId>http://localhost:8080/subscriptionmanager/service/722a0488-b612-4972-99dd-d056c9049178</ns3:SubscriptionId> <ns3:RewindDate>2021-09-13T13:49:01.784+02:00</ns3:RewindDate> </ns3:RewindSubscriptionRequest> </S:Body> </soapenv:Envelope> |
Response
<?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" xmlns:ns14="http://www.sundhedsdatastyrelsen.dk/nas/rewindsubscription/2021/09/07"> <ns2:Header> <!-- DGWS headers --> </ns2:Header> <ns2:Body> <ns14:RewindSubscriptionResponse> <ns14:RewindDate>2021-09-13T13:49:01.089+02:00</ns14:RewindDate> </ns14:RewindSubscriptionResponse> </ns2:Body> </ns2:Envelope> |
Hvis man ønsker at abbonnere på mange ID'er er det vigtigt at håndtere dette på en speciel måde af hensyn til performance. Mange ID'er er når der er tale om mere end ca. 10.000 ID'er.
Af hensyn til performance er det vigtigt at der ikke oprettes ID-lister med mere end ca. 10.000 ID'er. Hver af disse ID-lister skal have sin egen subscription og sit eget pull point. Det vil sige at man ikke må oprette mange subscriptions med hver sin ID-liste og så tilknytte dem til det samme pullpoint. Det er dog tilladt at anvende den samme ID-liste i flere subscriptions.
Når der skal indhentes adviser skal de enkelte pullpoints kaldes i "round robin" med op til 5 parallelle kald. Mellem hvert sæt af kald skal der gå ca. 10 sekunder.
Eksempel
Der ønskes abbonnement 505.000 ID'er.
Hvis der ligger adviser på et pull point og disse ikke afhentes i tide genereres der en systemadvisering. Denne systemadvisering er tilgængelig på pull point indtil den er afhentet. Der leveres ikke nye adviser til pull point før systemadvisering er afhentet. Nedenstående er eksempel på sådan en systemadvisering.
<?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> |