Skip to content

Commit

Permalink
Fixes #70 Feilhåndtering gjennomgått og omstrukturert.
Browse files Browse the repository at this point in the history
  • Loading branch information
Rune Kjørlaug committed Jun 13, 2014
1 parent 382d964 commit 4000454
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 110 deletions.
31 changes: 12 additions & 19 deletions feilhandtering/Forretningsfeil.textile
Expand Up @@ -4,26 +4,15 @@ title: Forretningsfeil
headtitle: Sikker digital post - Forretningsfeil
group: Feilhåndtering

id: Feilhåndtering/Forretningsfeil
id: Feilhåndtering/Forretning

next: Feilhåndtering/Transportfeil
next: Feilhåndtering/Feilhåndteringsprosess

---

h2. {{page.title}}

Forretningsfeil er feil i meldingsinnhold og format i digitalpost melding, dokumentpakke med innhold. Dette håndteres gjennom egne Feilmeldinger.

Følgende forretningsfeil kan oppstå i Sikker Digital Post.


table(table table-striped).
|_. Feil |_. Beskrivelse |
|_. Manglende mottakskvittering fra Meldingsformidler | eb:Reciept uteblir fra meldingsformidler. Meldingen er dermed ikke sendt. |
|_. Manglende "Leveringskvittering":../meldinger/LeveringsKvittering | Postkasseleverandør har ikke tilgjengeliggjort posten. |
|_. Mottak av "Feilmelding":../meldinger/FeilMelding | Det har oppstått problemer med tilgjengeliggjøren av posten og Postkasseleverandør har sendt en Feilmelding |
|_. Mottak av "Varslingfeiletkvittering":../meldinger/VarslingfeiletKvittering | Postkasseleverandør har ikke varslet Innbygger som avtalt |

Forretningsfeil er feil som medfører at aktørene i Sikker Digital Post ikke er i stand til å utføre en operasjon slik som spesifisert i forretningsmeldinger.

h3. Manglende mottakskvittering fra Meldingsformidler

Expand All @@ -39,18 +28,22 @@ h3. Manglende Leveringskvittering

Postkasseleverandør skal returnere en "Leveringskvittering":../meldinger/LeveringsKvittering til Avsender.
Dersom denne uteblir lengre enn forventet bør Avsender håndtere dette igjennom feilhåndteringsprosedyrer etablert med sentralforvalter.
(Feilhåndteringsprosedyrene etableres som del av bruksvilkår og er ikke ferdigstilt pt.)
(Feilhåndteringsprosedyrene etableres som del av bruksvilkår)

h4. Hvor lenge skal en Avsender vente på en Leveringskvittering?

Dette avhenger av hva Avsender har sendt.
Dersom Avsender sender en prioritert digital postmelding skal en Leveringskvittering leveres i løpet av minutter, mens dersom en Avsender sender en normal digital postmelding kan det ta et par timer.
Mer tydelige beskrivelser vil bli utarbeidet i forbindelse bruksvilkårene.

h3. Mottak av Feilmelding
h3. Varslingfeilet

Les mer om hvordan Avsender bør håndtere en "Feilmelding":../meldinger/FeilMelding.
Les mer om hvordan Avsender bør håndtere en "Varslingfeiletkvittering":../meldinger/VarslingfeiletKvittering.

h3. Mottak av Varslingfeiletkvittering
h3. Innholdsfeil i forretningsmeldingen

Les mer om hvordan Avsender bør håndtere en "Varslingfeiletkvittering":../meldinger/VarslingfeiletKvittering.
Dette kan være feil relatert til innholdet i SBD som ugyldig identifikator på mottaker og/eller feil i Dokumentpakke, for eksempel relatert til dekryptering/signeringsvalidering gjort av postkassen.

h3. Mer om forretningsfeil

For mer informasjon om forretningsfeil, se "dokumentasjon av forretningsmeldingen Feil":../meldinger/FeilMelding
25 changes: 25 additions & 0 deletions feilhandtering/Forvaltning.textile
@@ -0,0 +1,25 @@
---
layout: default
title: Forvaltning og tekniske feil
headtitle: Sikker digital post
group: Feilhåndtering

id: Feilhåndtering/Forvaltning

next: Feilhåndtering/Transport

---

h2. Forvaltningsmessige og tekniske feil

Dette er feil og feilsituasjoner som medfører at man ikke får/blir nektet kontakt med Meldingsformidler. Teknisk vil disse framstå som "HTTP-feilmeldinger":http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html.

De mest aktuelle kodene er:

table(table table-striped).
| HTTP 400 Bad Request | Meldingsformidler ikke i stand til å tolke meldingen. For eksempel kan ugyldig formatert XML |
| HTTP 401 Unathorized | Ikke gyldig tilgang til tjenesten |

h3. Håndtering

For hjelp med denne type feil må en ta kontakt med "Sentralforvalter":http://samarbeid.difi.no
104 changes: 32 additions & 72 deletions feilhandtering/Transportfeil.textile
Expand Up @@ -4,85 +4,45 @@ title: Transportfeil
headtitle: Sikker digital post - Transportfeil
group: Feilhåndtering

id: Feilhåndtering/Transportfeil
id: Feilhåndtering/Transport

next: Feilhåndtering/Teknisk
next: Feilhåndtering/Forretning

---

h2. {{page.title}}

Feil som oppstår i meldingsutvekslingen er transportfeil og ikke forretningsfeil.
Transport feil er feil som både er knyttet til transportprotokoll og meldingsutveksling i tillegg til adresseringsinformasjonen på forretningslaget.
Det vil si at transportfeil er knyttet til følgende deler av meldingen:
Feil i transportlaget vil være feil relatert til transportprotokoll og meldingsutveksling. Transportlaget benytter "AS 4":http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/AS4-profile/v1.0/os/AS4-profile-v1.0-os.html og feil i transportlaget skal følge
"ebMS 3.0 spesifikasjonen for feilhåndtering":http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/core/os/ebms_core-3.0-spec-os.html<notextile>#6.Error Handling|</notextile>outline

* SOAP og WS-Security
* eb:Messaging
* Standard Business Document Header
I feilsituasjoner vil tjenestene returnere en SOAP-fault. Denne vil både inneholde en ebMS 3.0 SignalMessage som inneholder informasjon om feilen og en feilkode i SOAP bodyen.


h3. Feil ved meldingsutveksling

Ved feilsituasjoner vil tjenestene returnere en SOAP-fault.
Denne vil både inneholde en ebMS 3.0 SignalMessage som inneholder informasjon om feilen og en feilkode i SOAP bodyen.

Feilmeldinger blir returnert som standard SOAP-fault uten noen WS-security-header, og er dermed verken kryptert eller signert slik som andre meldinger er.
Feilmeldinger kan bli returnert som standard SOAP-fault uten noen WS-security-header, og er dermed verken kryptert eller signert slik som andre meldinger er.
Dette er fordi feilmeldingene ikke inneholder informasjon som må integritets- eller konfidensialitetsbeskyttes, samt fordi noen feilsituasjoner gjør det umulig å kryptere og/eller signere feilmeldingen.

h3. ebMS 3.0 feilhåndtering

referanse:
[8] OASIS, "AS4 Profil of ebMS 3.0 Version 1.0":http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/AS4-profile/v1.0/os/AS4-profile-v1.0-os.html
Kapitel 6. Error Handling beskriver i detalj feilhåndteringen.

h4. eb:Error/@severity

* ebMS Error meldinger med Severity="warning" oversendes alltid som SOAP meldinger.
* ebMS Error meldinger med Severity="failure" oversendes alltid som SOAP Fault meldinger.


h3. SOAP-Body fault

SOAP feilen vil være enten typen Client eller Server.

h4. Client feil

Client vil typisk være en request som ikke validerer.
For disse tilfellene må Avsender løse problemet det forsøkes å sende meldingen på nytt.

h4. Server feil

Server vil være en systemfeil, som vil ha en Leverandørspesifikk-generert feilkode og en feilmelding i faultString-elementet,
For disse tilfellene kan Avsender prøve å sende meldingen på nytt, da feilen kan være forbigående.


h3. Eksempel

<pre class="brush: bash; toolbar: false">

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<eb:Messaging S12:mustUnderstand="true">
<eb:SignalMessage>
<eb:MessageInfo>
<eb:Timestamp>2014-02-10T15:21:42.821Z</eb:Timestamp>
<eb:MessageId>UUID-6@sender.example.com</eb:MessageId>
<eb:RefToMessageId>UUID-4@receiver.example.com</eb:RefToMessageId>
</eb:MessageInfo>
<eb:Error errorCode="EBMS:0101" severity="failure">
<eb:Description lang="en">FailedAuthentication</eb:Description>
<eb:ErrorDetail>The signature in the Security header intended for the "ebms" SOAP actor, could not be validated by the Security module. </eb:ErrorDetail>
<refToMessageId.....
</eb:Error>
</eb:SignalMessage>
</eb:Messaging>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring xml:lang="en">Some error message</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

</pre>
h3. Feilhåndtering

Nedenfor er en ikke uttømmende liste over feilsituasjoner og hvordan de kan håndterest.

table(table table-striped).
|_. Feiltype? |_. Hva gjør Avsender? |_. Hva gjør Meldingsformidler(MF)? |_. Hva gjør Postkasseleverandør(PK)? |_. Hva gjør MF hvis PK svarer med soap fault? |
| WS-security | Manuell håndtering | SOAP-fault (EBMS-signal) | SOAP-fault (EBMS-signal) | Manuell håndtering |
| EBMS-feil | Manuell håndtering | SOAP-fault + EBMS-signal | SOAP-fault + EBMS-signal | Manuell håndtering |
| Skjemavalidering | Manuell håndtering | SOAP-fault + EBMS-signal | SOAP-fault + EBMS-signal | Manuell håndtering |
| Feil i SBD-signatur | Manuell håndtering | SOAP-fault + EBMS-signal | SOAP-fault + EBMS-signal | Manuell håndtering |
| Feil i SBDH | Manuell håndtering | SOAP-fault + EBMS-signal | SOAP-fault + EBMS-signal | Manuell håndtering |
| Intern feil i system | Prøver på ny senere | SOAP-fault + EBMS-signal (Other) | SOAP-fault + EBMS-signal (Other) | Prøver på ny senere |

Følgende responser kan Avsender forvente å få tilbake dersom feilen over oppstår.

table(table table-striped).
|_. Feiltype? |_. Respons |
| Kan ikke validere signaturene (manglende eller feil i signatur) | EBMS error: SignatureValidation |
| Bruk av sertifikat fra uventet utsteder | EBMS error: SignatureValidation |
| Feil signeringsalgoritmer | EBMS error: PolicyNonCompliance |
| Ukjent organisasjonsnummer | EMBS error: FailedAuthentication |
| Feil bruk av eller feil verdier på felter i EBMS | EBMS Error: ValueInconsistent eller ValueNotRecognized |
| Feil bruk av eller feil verdier på felter i SBDH | EBMS Error: ValueInconsistent eller ValueNotRecognized |
| Feil eller manglende signatur på SBD | EBMS error: SignatureValidation |
| Sending av ukjente payloads som SOAP body | EBMS error: FeatureNotSupported |
| Intern feil | EBMS error: Other |
3 changes: 1 addition & 2 deletions feilhandtering/feilhandteringsprosess.textile
Expand Up @@ -15,5 +15,4 @@ h2. {{page.title}}
Prosessen for feilhåndtering i Sikker digital post er ikke etablert. Prosessen skal etableres som del av etableringsprosjektet.
Generelle bruksvilkår for felleskomponenter forvaltet av difi kan man finne på "samarbeid.difi.no":http://samarbeid.difi.no/

Spørsmål om prosess for feilhåndtering kan stilles igjennom å kontakte "idporten@difi.no":mailto:idporten@difi.no

Spørsmål om prosess for feilhåndtering kan stilles igjennom å kontakte "idporten@difi.no":mailto:idporten@difi.no
27 changes: 14 additions & 13 deletions feilhandtering/index.textile
Expand Up @@ -6,28 +6,29 @@ group: Feilhåndtering

id: Feilhåndtering

next: Feilhåndtering/Forretningsfeil
next: Feilhåndtering/Forvaltning

children:
- name: Feilhåndtering/Forretningsfeil
- name: Feilhåndtering/Transportfeil
- name: Feilhåndtering/Teknisk
- name: Feilhåndtering/Forvaltning
- name: Feilhåndtering/Transport
- name: Feilhåndtering/Forretning
- name: Feilhåndtering/Feilhåndteringsprosess


---

h2. Feilhåndtering

Feil i Sikker digital post deles i Forretningsfeil og Transportfeil. Transportfeil er feil som oppstår i meldingsutvekslingen og håndteres på ebMS laget.
Forretningsfeil er feil som ikke er relatert til transport og utveksling av meldinger, men feil i meldingsinnhold og format på indre melding. Dette håndteres gjennom egne Feilmeldinger.
Uniform håndtering og forståelse av feil er viktig for å oppnå høy kvalitet på tjenesten Sikker Digital Post.

Dokumentasjonen av feilhåndtering er delt opp i følgende kapitler:
Generelt så skal man benytte en "fail-fast":http://en.wikipedia.org/wiki/Fail-fast tankegang. Dette betyr at man skal prøve å identifisere kjente feil og feilsituasjoner så tidleg som mulig i prosessen,
slik at man kan gi rask og god tilbakemelding til avsender. I tillegg skal man så langt som mulig benytte standardiserte feilmeldinger og feilmeldingsrutiner i henhold til de standarder som er i bruk der feilen oppstår.

table(table table-striped).
| "Forretningsfeil":Forretningsfeil | Hva er en forretningsfeil og hvordan skal den håndteres? |
| "Transportfeil":Transportfeil | Hvilke tekniske feil kan oppstå og hvordan skal disse håndteres? |
| "Beskrivelse av feiltyper og feilmeldinger":teknisk | I hvilken del av meldingen skjer feilen? og hvem gjør hva? |
| "Prosess for feilhåndtering":feilhandteringsprosess | Hvordan skal Avsendere melde feil? |
h3. Gruppering av feil

Feil blir gruppert på følgende måte:

table(table table-striped).
| "Forvaltingsrelaterte og tekniske feil":Forvaltning | Forvaltningsemssige feil som for eksempel manglande avtale med sentralforvalter for tilgang til løsningen, eller andre tekniske feil som gjør det umulig å behandle en melding, for eksempel ugyldig utformet XML |
| "Transportfeil":Transportfeil | Feil relatert til transportlaget, for eksempel feil i validering av signatur |
| "Forretningsfeil":Forretningsfeil | Feil relatert til forretningslaget, som manglende evne til å utføre "bestilt" funksjonaltet som for eksempel varsling |
| "Prosess for feilhåndtering":feilhandteringsprosess | Prosess for håndtering av feil |
10 changes: 6 additions & 4 deletions meldinger/FeilMelding.textile
Expand Up @@ -61,9 +61,11 @@ table(table table-striped).

h4. Kodeverk for feilkode

feilkode kan ha følgende verdi:
Følgende responser kan Avsender forvente å få tilbake dersom feilen over oppstår (ikke uttømmende liste):

table(table table-striped).
|_. Kodeverdi |_. Beskrivelse |

(ikke detaljert)
|_. Feiltype? |_. Respons |
| Postkasse kan ikke dekryptere dokumentpakke | "Feil":FeilMelding type:KLIENT detaljer:"Kan ikke dekryptere" |
| Manglende eller feil signatur inni dokumentpakke | "Feil":FeilMelding type:KLIENT detaljer:"Feil signatur" |
| Feil bruk av eller feil verdier i SBD melding | "Feil":FeilMelding type:KLIENT detaljer:"Feil i manifest" |
| Feil bruk av eller feil verdier på felter | "Feil":FeilMelding type:KLIENT detaljer:"Ugyldig verdi ... " |

0 comments on commit 4000454

Please sign in to comment.