User Tools

Site Tools


fmk:generel:fejlhandtering

This is an old revision of the document!


Fejlhåndtering

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.

Fejl returneres i XML ifølge ”Den Gode Webservice”. Der medsendes en fejlkode. De mulige fejlkoder er opdelt i følgende intervaller:

Interval Betydning Eksempel
1 - 1000 Typisk brugerfejl eller fejl forårsaget af afsendersystemet. 2: Cpr-nr 1111111117 (PersonIdentifier) findes ikke
1000 - 3999 Applikationsfejl 3000: Intern server fejl
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 Udvidet valideringsfejl, dvs. fejl som kan ignoreres 10001: Ej muligt at seponere lægemiddelordination 31237621536712 da der findes en åben recept

En liste af fejl FMK returnerer findes i afsnittet Fejlkoder og -tekster.

I forhold til eventelt transiente fejl og retransmission se: Retransmission

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.

Nedenfor er der et eksempel på hvordan body-delen af et fejldokument kan se ud (de er indsat nogle få linieskift i teksten herunder).

<soapenv:Envelope 
	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
	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>

Udvidet validering

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.

Se mere her: Udvidet validering

fmk/generel/fejlhandtering.1590398527.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki