Page History
...
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:
Tag | Beskrivelse |
---|---|
Version | Applikationens version, tages fra pom.xml filen under build |
SealVersion | Versionen af SEAL modulet, tages fra pom.xml filen under build |
CurrentDate | Dato for hvornår at status snitfladen blev kaldt |
StartedDate | Dato for hvornår at applikationen blev startet |
LatestRequestDate | Dato for hvornår sidste forespørgelse blev sendt til applikationen |
LatestSuccessDate | Dato for hvornår sidste succefulde forespørgelse blev sendt til applikationen |
RequestsTotal | Det totale antal forespørgelser til applikationen siden den blev startet |
Requests24h | Antallet af forespørgelser til applikationen i løbet af de sidste 24 timer |
RequestErrorsTotal | Det totale antal forespørgelser til applikationen der fejlede siden den blev startet |
RequestErrors24h | Antallet af forespørgelser til applikationen der fejlede i løbet af de sidste 24 timer |
RequestDurationAverageTotal | Den gennemsnitlige svartid for en forespørgelse til applikationen målt siden den blev startet |
RequestDurationAverage24h | Den gennemsnitlige svartid for en forespørgelse til applikationen målt over de sidste 24 timer |
RequestDurationMaxTotal | Summen af svartiden for alle forespørgelser til applikationen målt siden den blev startet |
RequestDurationMax24h | Summen af svartiden for alle forespørgelser til applikationen målt over de sidste 24 timer |
UpDownScore | Den interne score applikationen bruger til at bedømme, om applikationen kan betragtes som værende oppe eller ej (styres af applikationens konfigurationsfil) |
ServiceUp | Om 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å adressen:adresser:
http://localhost/SOROpdateringService
http://localhost/v2/SOROpdateringService
Dette Disse er SOAP snitfladensnitflader, og kan håndtere end af følgende SOAP operationer:
- For http://localhost/SOROpdateringService:
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09/06#CreateSorEntity
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09/06#EditSorEntity
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09/06#MoveSorEntity
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09/06#ReplaceSorEntities
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09/06#CloseSorEntity
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09/06#EditEanLocationCodeSystemType
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09/06#EditEanLocationCodeCommunicationSupplier
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09/06#EditEanLocationCodeEdiAdministrator
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09/06#EditEanLocationCodeRegion
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09/06#EditEanLocationCodeSystemSupplier
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09
- /06#MoveEanLocationCode
- http://sundhedsdatastyrelsen.dk/SOROpdateringService/2018/09/06#UpdateEdiTypes
- For http://localhost/v2/SOROpdateringService:
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#CreateSorEntity
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#EditSorEntity
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#MoveSorEntity
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#ReplaceSorEntities
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#CloseSorEntity
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#EditEanLocationCodeSystemType
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#EditEanLocationCodeCommunicationSupplier
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#EditEanLocationCodeEdiAdministrator
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#EditEanLocationCodeRegion
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#EditEanLocationCodeSystemSupplier
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#MoveEanLocationCode
- http://sundhedsdatastyrelsen.dk/SOROpdateringServiceV2#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 code | Fault string | Beskrivelse |
---|---|---|
invalid_signature | Invalid signature | Autentifikations fejl, invalid signatur |
missing_required_header | Unable to read request | Autentifikations fejl, kan ikke læse forespørgelsen |
security_level_failed | Invalid authentication level, level 3 or 4 required | Autorisations fejl, kun certifikat niveau 3 eller 4 er tilladt |
expired_idcard | Current time is outside of valid period | Autorisations fejl, uden for gyldighedsperioden for sikkerheds headeren |
invalid_certificate | The type of certificate used is invalid, FOCES or MOCES required | Autorisations fejl, ugyldig type af certifikat brugt, kun FOCES og MOCES er tilladt |
not_authorized | CVR not whitelisted | Autorisations fejl, CVR er ikke whitelisted |
processing_problem | Error happened while contacting SOR database | Fejl under forespørgelse mod databasen |
syntax_error | Unable to parse body | Fejl under transformeringen af SOAP body til et objekt |
processing_problem | Unable to marshal object | Fejl under transformeringen af object til XML |
processing_problem | Unable to write body | Fejl under at skrive det transformerede objekt til klienten |
processing_problem | Error happened while contacting SOR backend | Fejl under forespørgelse mod backenden |
processing_problem | Invalid request type | Ukendt operation mod backenden |
...
ID | Operation |
---|---|
210 | CreateSorEntity |
215 | EditSorEntity |
220 | MoveSorEntity |
225 | ReplaceSorEntities |
230 | CloseSorEntity |
235 | EditEanLocationCodeSystemType |
240 | EditEanLocationCodeCommunicationSupplier |
245 | EditEanLocationCodeEdiAdministrator |
250 | EditEanLocationCodeRegion |
255 | EditEanLocationCodeSystemSupplier |
260 | MoveEanLocationCode |
265 | UpdateEdiTypes |
Ved forespørge til backenden er der følgende ID'er:
ID | Operation |
---|---|
211 | CreateSorEntity |
216 | EditSorEntity |
221 | MoveSorEntity |
226 | ReplaceSorEntities |
231 | CloseSorEntity |
236 | EditEanLocationCodeSystemType |
241 | EditEanLocationCodeCommunicationSupplier |
246 | EditEanLocationCodeEdiAdministrator |
251 | EditEanLocationCodeRegion |
256 | EditEanLocationCodeSystemSupplier |
261 | MoveEanLocationCode |
266 | UpdateEdiTypes |
Ved forespørge til whitelist databasen er der følgende ID'er:
ID | Operation |
---|---|
212 | CreateSorEntity |
217 | EditSorEntity |
222 | MoveSorEntity |
227 | ReplaceSorEntities |
232 | CloseSorEntity |
237 | EditEanLocationCodeSystemType |
242 | EditEanLocationCodeCommunicationSupplier |
247 | EditEanLocationCodeEdiAdministrator |
252 | EditEanLocationCodeRegion |
257 | EditEanLocationCodeSystemSupplier |
262 | MoveEanLocationCode |
267 | UpdateEdiTypes |
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).
...