Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootweb:SOR Opdater Service (SORUS) - Leverancebeskrivelse
includeroottrue


...

Applikationen udstiller to forskellige status snitfladeroutput på samme snitflade; en human readable i XML format, og en simpel som kan bruges til hyppige check af applikationens health.

Snitfladen for hyppige health checks:

https://localhost/status

Denne snitflade er i stand til at håndtere, at blive kaldt ofte. Hvis applikationen tror at den er oppe, returnerer den blot HTTP kode 200. Hvis servicen er nede, prøver den at lave et kald til en lignende snitflade hos backend servicen, og afhængig af hvad den svarer, sker forskellige ting. Hvis backend servicen svarer tilbage med HTTP kode 200, bliver den interne score resat til 0, og kaldet til applikationen vil returnere HTTP kode 200 selv. Hvis backend servicen ikke svarer, eller svarer med HTTP kode 500, så vil kaldet til applikationen selv returnere HTTP kode 500. Ved HTTP kode 500 kan applikationen ikke betragtes som værende brugbar.

Snitfladen for at få XML output findes her:

https://localhost/status?verbose

Snitfladen returnerer et simpelt XML format, som indeholder følgende information:

TagBeskrivelse
VersionApplikationens version, tages fra pom.xml filen under build
SealVersionVersionen af SEAL modulet, tages fra pom.xml filen under build
CurrentDateDato for hvornår at status snitfladen blev kaldt
StartedDateDato for hvornår at applikationen blev startet
LatestRequestDateDato for hvornår sidste forespørgelse blev sendt til applikationen
LatestSuccessDateDato for hvornår sidste succefulde forespørgelse blev sendt til applikationen
RequestsTotalDet totale antal forespørgelser til applikationen siden den blev startet
Requests24hAntallet af forespørgelser til applikationen i løbet af de sidste 24 timer
RequestErrorsTotalDet totale antal forespørgelser til applikationen der fejlede siden den blev startet
RequestErrors24hAntallet af forespørgelser til applikationen der fejlede i løbet af de sidste 24 timer
RequestDurationAverageTotalDen gennemsnitlige svartid for en forespørgelse til applikationen målt siden den blev startet
RequestDurationAverage24hDen gennemsnitlige svartid for en forespørgelse til applikationen målt over de sidste 24 timer
RequestDurationMaxTotalSummen af svartiden for alle forespørgelser til applikationen målt siden den blev startet
RequestDurationMax24hSummen af svartiden for alle forespørgelser til applikationen målt over de sidste 24 timer
UpDownScoreDen interne score applikationen bruger til at bedømme, om applikationen kan betragtes som værende oppe eller ej (styres af applikationens konfigurationsfil)
ServiceUpOm servicen betragter sig selv som oppe eller ej

Den anden status snitflade findes her:

https://localhost/SOROpdateringService

Her er det vigtigt at det er HTTP GET som bliver brugt, da SOAP snitfladen rammes ved HTTP POST.

Denne snitflade er i stand til at håndtere, at blive kaldt ofte. Hvis applikationen tror at den er oppe, returnerer den blot HTTP kode 200. Hvis servicen er nede, prøver den at lave et kald til en lignende snitflade hos backend servicen, og afhængig af hvad den svarer, sker forskellige ting. Hvis backend servicen svarer tilbage med HTTP kode 200, bliver den interne score resat til 0, og kaldet til applikationen vil returnere HTTP kode 200 selv. Hvis backend servicen ikke svarer, eller svarer med HTTP kode 500, så vil kaldet til applikationen selv returnere HTTP kode 500. Ved HTTP kode 500 kan applikationen ikke betragtes som værende brugbar.For begge disse outputs, hvis et forceCheck URL parameter tilføjes, tvinges applikationen til at teste om backenden er tilgængelig.

Modus operandi

Applikationen prøver så vidt muligt altid at give et fornuftigt svar. Kun i de tilfælde, hvor at applikationen ikke kan skrive et pænt svar til klienten, vil den give op og bare kaste en exception. Ved et kald til en snitflade der ikke eksisterer, vil den svare med HTTP kode 404.

Applikationens hovedfunktionalitet ligger under følgende HTTP POST på adressenadresser:

http://localhost/v3/SOROpdateringService

Dette Denne er en SOAP snitfladensnitflad, og kan håndtere end en af følgende SOAP operationer:

  • For http://sundhedsdatastyrelsen.dklocalhost/v3/SOROpdateringService:
    • http:/
    2018
    • /
    09
    • sundhedsdatastyrelsen.dk/
    06#CreateSorEntity
    • SOROpdateringServiceV3#CreateSorEntity
    • http://sundhedsdatastyrelsen.dk/
    SOROpdateringService
    • SOROpdateringServiceV3#EditSorEntity
    • http:/
    2018
    • /
    09
    • sundhedsdatastyrelsen.dk/
    06#EditSorEntity
    • SOROpdateringServiceV3#MoveSorEntity
    • http://sundhedsdatastyrelsen.dk/
    SOROpdateringService/2018/09/06#MoveSorEntity
    • SOROpdateringServiceV3#ReplaceSorEntities
    • http://sundhedsdatastyrelsen.dk/
    SOROpdateringService/2018/09/06#ReplaceSorEntities
    • SOROpdateringServiceV3#CloseSorEntity
    • http://sundhedsdatastyrelsen.dk/
    SOROpdateringService/2018/09/06#CloseSorEntity
    • SOROpdateringServiceV3#EditEanLocationCodeSystemType
    • http://sundhedsdatastyrelsen.dk/
    SOROpdateringService/2018/09/06#EditEanLocationCodeSystemType
    • SOROpdateringServiceV3#EditEanLocationCodeCommunicationSupplier
    • http://sundhedsdatastyrelsen.dk/
    SOROpdateringService/2018/09/06#EditEanLocationCodeCommunicationSupplier
    • SOROpdateringServiceV3#EditEanLocationCodeEdiAdministrator
    • http://sundhedsdatastyrelsen.dk/
    SOROpdateringService/2018/09/06#EditEanLocationCodeEdiAdministrator
    • SOROpdateringServiceV3#EditEanLocationCodeRegion
    • http://sundhedsdatastyrelsen.dk/
    SOROpdateringService/2018/09/06#EditEanLocationCodeRegion
    • SOROpdateringServiceV3#EditEanLocationCodeSystemSupplier
    • http://sundhedsdatastyrelsen.dk/
    SOROpdateringService/2018/09/06#EditEanLocationCodeSystemSupplier
    • SOROpdateringServiceV3#MoveEanLocationCode
    • http://sundhedsdatastyrelsen.dk/
    SOROpdateringService/2018/09/06#MoveEanLocationCode 
    • SOROpdateringServiceV3#UpdateEdiTypes

Operationen bliver valgt med HTTP header SOAPAction. Hvis en anden operation end de listede er valgt, vil servicen returnere HTTP kode 405.

...

MedCom fault codeFault stringBeskrivelse
invalid_signatureInvalid signatureAutentifikations fejl, invalid signatur
missing_required_headerUnable to read requestAutentifikations fejl, kan ikke læse forespørgelsen
security_level_failedInvalid authentication level, level 3 or 4 requiredAutorisations fejl, kun certifikat niveau 3 eller 4 er tilladt
expired_idcardCurrent time is outside of valid periodAutorisations fejl, uden for gyldighedsperioden for sikkerheds headeren
invalid_certificateThe type of certificate used is invalid, FOCES or MOCES requiredAutorisations fejl, ugyldig type af certifikat brugt, kun FOCES og MOCES er tilladt
not_authorizedCVR not whitelistedAutorisations fejl, CVR er ikke whitelisted
processing_problemError happened while contacting SOR databaseFejl under forespørgelse mod databasen
syntax_errorUnable to parse bodyFejl under transformeringen af SOAP body til et objekt
processing_problemUnable to marshal objectFejl under transformeringen af object til XML
processing_problemUnable to write bodyFejl under at skrive det transformerede objekt til klienten
processing_problemError happened while contacting SOR backendFejl under forespørgelse mod backenden
processing_problemInvalid request typeUkendt operation mod backenden

...

Audit log

Audit logning benytter audit API biblioteket, og skriver til audit.log i logs/ mappen. Følgende oplysninger bliver trukket ud af forespørgelsen og skrevet i audit loggen:

...

IDOperation
210CreateSorEntity
215EditSorEntity
220MoveSorEntity
225ReplaceSorEntities
230CloseSorEntity
235EditEanLocationCodeSystemType
240EditEanLocationCodeCommunicationSupplier
245EditEanLocationCodeEdiAdministrator
250EditEanLocationCodeRegion
255EditEanLocationCodeSystemSupplier
260MoveEanLocationCode
265UpdateEdiTypes

Ved forespørge til backenden er der følgende ID'er:

IDOperation
211CreateSorEntity
216EditSorEntity
221MoveSorEntity
226ReplaceSorEntities
231CloseSorEntity
236EditEanLocationCodeSystemType
241EditEanLocationCodeCommunicationSupplier
246EditEanLocationCodeEdiAdministrator
251EditEanLocationCodeRegion
256EditEanLocationCodeSystemSupplier
261MoveEanLocationCode
266UpdateEdiTypes

Ved forespørge til whitelist databasen er der følgende ID'er:

IDOperation
212CreateSorEntity
217EditSorEntity
222MoveSorEntity
227ReplaceSorEntities
232CloseSorEntity
237EditEanLocationCodeSystemType
242EditEanLocationCodeCommunicationSupplier
247EditEanLocationCodeEdiAdministrator
252EditEanLocationCodeRegion
257EditEanLocationCodeSystemSupplier
262MoveEanLocationCode
267UpdateEdiTypes

Applikation log

Applikation loggen styres af log4j-sorus.properties, og denne afhænger af hvad der er blevet sat op. Det er muligt slet ikke at få en applikation log på disken, hvis dette ønskes (ikke anbefalet).

...