User Tools

Site Tools


fmk:generel:fejlhandtering

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
fmk:generel:fejlhandtering [2026-06-18 12:07] adtafmk:generel:fejlhandtering [2026-06-29 08:12] (current) – [Udvidet validering] exttkn
Line 1: Line 1:
 ====== Fejlhåndtering ====== ====== Fejlhåndtering ======
  
-Hvis der opstår en fejl ved behandling af en forespørgsel, returnerer FMK et fejlsvar, og den forretningsmæssige del af transaktionen vil blive rullet tilbage. Det betyder f.eks., at der ikke oprettes, opdateres eller seponeres på nogen af de medsendte medicinkort eller lægemiddelordinationer, hvis ét element i samme kald fejler. Kaldet vil dog stadig blive logget.+Hvis der opstår en fejl ved behandling af en forespørgsel vil der blive returneret et fejldokument i stedet for det forventede svar, og den forretningsmæssige del af transaktionen vil blive rullet tilbage. Dvs. at der f.eks. ikke oprettes, opdateres eller seponeres på nogen af de medsendte medicinkort eller lægemiddelordinationer, heller ikke selv om der f.eks. forsøges at oprette tre lægemiddelordinationer i samme kald og den tredje fejler. Kaldet vil dog blive logget.  
  
-For FMK 1.6.0 er indholdet af SOAP-faultens ''detail''-element ens for DGWS, +For fejlhåndtering i FMK 1.6.0, se [[fmk:1.6.0:fejlhandtering|Fejlhåndtering]].
-IDWS og IDWS-XuaDette er i modsætning til tidligere FMK versioner, hvor +
-fejlformatet afhænger af profilen.+
  
-===== Fejlkoder ===== +Fejl returneres i XML ifølge ”Den Gode Webservice”. Der medsendes en fejlkode. De mulige fejlkoder er  opdelt i følgende intervaller:
- +
-Der returneres altid en FMK-fejlkode. De mulige fejlkoder er opdelt i følgende intervaller:+
  
 ^ Interval ^ Betydning ^ Eksempel ^ ^ Interval ^ Betydning ^ Eksempel ^
-| 1-1000 | Typisk brugerfejl eller fejl forårsaget af afsendersystemet | ''2: Cpr-nr 1111111117 (PersonIdentifier) findes ikke'' +| 1 - 1000 | Typisk brugerfejl eller fejl forårsaget af afsendersystemet| 2: Cpr-nr 1111111117 (PersonIdentifier) findes ikke | 
-| 1000-3999 | Applikationsfejl | ''3000: Intern server fejl'' +| 1000 - 3999 | Applikationsfejl | 3000: Intern server fejl | 
-| 4000-9999 | Valideringsfejl, autentificeringsfejl, autorisationsfejl, rolle-/rettighedsfejl m.v. | ''4003: SOSI xml fejl: ID card is not valid in time. The card has to be less than 9 hours old 4200: Ingen roller passer på brugeren'' +| 4000 - 9999 | Valideringsfejl, rolle-rettighedsfejl m.v. | 4003: "SOSI xml fejl: ID card is not valid in time. The card has to be less than 9 hours old 4200: Ingen roller passer på brugeren | 
-| 10000-10999 | [[fmk:generel:udvidet_validering|Udvidet valideringsfejl]], dvs. fejl som kan ignoreres ved brug af ''ModificationMetadata'' ''10001: Ej muligt at seponere lægemiddelordination 31237621536712 da der findes en åben recept'' |+| 10000 - 10999 | [[fmk:generel:udvidet_validering | Udvidet valideringsfejl]] | 10001: Ej muligt at seponere lægemiddelordination 31237621536712 da der findes en åben recept |
  
-En samlet liste af fejl FMK kan returnere findes i [[fmk:generel:fejlkoder_og_-tekster|Fejlkoder og -tekster]].+En liste af fejl FMK returnerer findes i afsnittet [[Fejlkoder og -tekster]].
  
-Ved transiente fejl og retransmissionse [[fmk:generel:retransmission|Retransmission]].+I forhold til eventelt transiente fejl og retransmission se[[fmk:generel:retransmission | Retransmission]]
  
-===== Fejlformat =====+Udover en fejlkode returneres en fejl-tekst og en liste af key-value par der uddyber specifikke værdier for fejlen (values) samt hvilken del af datamodellen denne værdi tilhører (keys). En key vil typisk stemme overens med navnet på et af de xml elementer i response-dokumentet som fejlen knytter sig til.
  
-For FMK 1.6.0 returneres der i SOAP-faultens ''detail''-element præcis ét +Nedenfor er der et eksempel på hvordan body-delen af et fejldokument kan se ud (de er indsat nogle få linieskift i teksten herunder).
-''FMKDetail''-element. Klienter bør anvende ''FMKDetail/FaultCode'' som +
-FMK-fejlkode. +
-SOAP-felterne ''faultcode'' og ''faultstring'' følger stadig SOAP +
-fault-formatet. Feltet ''faultcode'' angiver overordnet om der er tale om en +
-klient fejl eller en server fejl, og ''faultstring'' vil typisk være identisk med +
-''FMKDetail/FaultText''.+
  
-''FMKDetail'' indeholder:+<code xml>
  
-  * ''FaultCode'' FMK-fejlkoden +<soapenv:Envelope  
-  * ''FaultText'' den formatterede fejltekst + xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  
-  * ''FaultDetails'' valgfri liste af uddybende key-value pairs+ xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"  
 + xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"  
 + xmlns:medcom="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd"  
 + xmlns:medicinecard20120601="http://www.dkma.dk/medicinecard/xml.schema/2012/06/01" 
 + id="Envelope"> 
 + <soapenv:Header> 
 + <wsse:Security> 
 + <wsu:Timestamp> 
 + <wsu:Created>2012-09-25T19:06:51Z</wsu:Created> 
 + </wsu:Timestamp> 
 + </wsse:Security> 
 + <medcom:Header> 
 + <medcom:SecurityLevel>1</medcom:SecurityLevel> 
 + <medcom:Linking> 
 + <medcom:FlowID>flowId</medcom:FlowID> 
 + <medcom:MessageID>AAABOf7THJIabqVHn2+kY1NPU0k=</medcom:MessageID> 
 + <medcom:InResponseToMessageID>AAABOf7TGLxiFKiBQ3eIEVNPU0k= 
 + </medcom:InResponseToMessageID> 
 + </medcom:Linking> 
 + </medcom:Header> 
 + </soapenv:Header> 
 + <soapenv:Body> 
 + <soapenv:Fault> 
 + <faultcode>Server</faultcode> 
 + <detail> 
 + <medcom:FaultCode>3</medcom:FaultCode> 
 + <medicinecard20120601:FaultText>Medicinkortet 2603558084 findes ikke i version 999</medicinecard20120601:FaultText> 
 + <medicinecard20120601:FaultDetails> 
 + <medicinecard20120601:KeyValueSet> 
 + <medicinecard20120601:Key>MedicineCardVersion</medicinecard20120601:Key> 
 + <medicinecard20120601:Value>999</medicinecard20120601:Value> 
 + </medicinecard20120601:KeyValueSet> 
 + <medicinecard20120601:KeyValueSet> 
 + <medicinecard20120601:Key>PersonIdentifier</medicinecard20120601:Key> 
 + <medicinecard20120601:Value>2603558084</medicinecard20120601:Value> 
 + </medicinecard20120601:KeyValueSet> 
 + </medicinecard20120601:FaultDetails> 
 + </detail> 
 + <faultstring>Medicinkortet 2603558084 findes ikke i version 999</faultstring> 
 + </soapenv:Fault> 
 + </soapenv:Body> 
 +</soapenv:Envelope>
  
-Et typisk eksempel på en SOAP fejl kan se således ud: 
- 
-<code xml> 
-<SOAP-ENV:Fault xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 
-  <faultcode>SOAP-ENV:Client</faultcode> 
-  <faultstring>Medicinkortet 2603558084 findes ikke i version 999</faultstring> 
-  <detail> 
-    <FMKDetail xmlns="http://fmk-teknik.dk/160"> 
-      <FaultCode>3</FaultCode> 
-      <FaultText>Medicinkortet 2603558084 findes ikke i version 999</FaultText> 
-      <FaultDetails> 
-        <KeyValueSet> 
-          <Key>ElementPath</Key> 
-          <Value>GetMedicineCardRequest</Value> 
-        </KeyValueSet> 
-        <KeyValueSet> 
-          <Key>MedicineCardVersion</Key> 
-          <Value>999</Value> 
-        </KeyValueSet> 
-        <KeyValueSet> 
-          <Key>PersonIdentifier</Key> 
-          <Value>2603558084</Value> 
-        </KeyValueSet> 
-      </FaultDetails> 
-    </FMKDetail> 
-  </detail> 
-</SOAP-ENV:Fault> 
 </code> </code>
  
-==== FaultDetails og KeyValueSet ==== 
- 
-''FaultDetails'' indeholder en liste af ''KeyValueSet''-elementer for den 
-konkrete fejl. Keys følger fejlens parameter-keys, jf. 
-[[fmk:generel:fejlkoder_og_-tekster|Fejlkoder og -tekster]]. 
- 
-Rækkefølgen af ''KeyValueSet''-elementer er ikke en del af kontrakten og må ikke antages at være stabil. 
- 
-En ''Key'' vil typisk ligne navnet på et relevant felt eller begreb i requestet, f.eks.: 
- 
-  * ''DrugMedicationIdentifier'' 
-  * ''PersonIdentifier'' 
-  * ''ElementPath'' 
- 
-Det er ikke et krav, at en ''Key'' svarer direkte til et XML-element i 
-responsen. ''ElementPath'' er især værd at bemærke. Se også 
-[[fmk:generel:elementpath|ElementPath]]. 
- 
-===== Udvidet validering ===== 
  
-Den sidste type af validering er de såkaldte udvidede valideringer. I +====== Udvidet validering ====== 
-modsætning til de øvrige typer af valideringsfejl kan disse valideringer +den sidste type af validering er de såkaldte udvidet valideringer, som i modsætning til de 3 andre typer af valideringsfejl kan disse valideringer skippes gennem brugen af de specifikke felt ''ModificationMetadata'' som findes i de fleste opdaterende requests som sendes til FMK.
-mange tilfælde ignoreres ved brug af feltet ''ModificationMetadata''som +
-findes i de fleste opdaterende requests til FMK.+
  
-Se mere her: [[fmk:generel:udvidet_validering|Udvidet validering]]+[[..:itukt:intro|Validering af klausuleret tilskud]] sker via udvidet validering med fejlkoder i intervallet 10800-10999.
  
 +Se mere her: [[Udvidet validering]]
fmk/generel/fejlhandtering.1781784429.txt.gz · Last modified: by adta

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki