Norm 250 – Fehlerhandling - BiPRO
Norm 250 – Fehlerhandling - BiPRO
Norm 250 – Fehlerhandling - BiPRO
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
22<br />
23<br />
24<br />
25<br />
26<br />
27<br />
<strong>Norm</strong> <strong>250</strong> <strong>–</strong> <strong>Fehlerhandling</strong><br />
Release und Version<br />
Release 1, Version 1.0, vom 19. Juni 2007<br />
Status<br />
Offizielle <strong>Norm</strong><br />
Editor<br />
Jörg Treiner, IDEAL Gruppe<br />
Autoren<br />
Markus Heussen, RheinLand Gruppe (markus.heussen@creditlife.net)<br />
Marc Pellmann, inubit AG (marc.pellmann@inubit.com)<br />
Sascha Klose, VHV Versicherung (sklose@vhv.de)<br />
Dr. Dieter Ackermann, VOLKSWOHL BUND (dieter.ackermann@volkswohl-bund.de)<br />
Dr. Thomas Kippenberg, Nürnberger (thomas.kippenberg@nuernberger.de)<br />
Dr. Torsten Schmale, inubit AG (ts@inubit.com)<br />
Jörg Treiner, IDEAL Gruppe (treiner@ideal-versicherung.de)<br />
Stefan Hauptmann, VDV Klaus Reimer GmbH (stefan.hauptmann@v-d-v.de)<br />
John Bodenstein, AssFiNET AG (john.bodenstein@assfinet.de)<br />
Sören Chittka, VOLKSWOHL BUND, (soeren.chittka@volkswohl-bund.de)<br />
Thomas Belting, RheinLand Gruppe, (thomas.belting@rheinland-versicherungen.de)<br />
Gegenstand der <strong>Norm</strong><br />
Die <strong>Norm</strong> <strong>250</strong> definiert wie mögliche Fehler bei der Kommunikation zwischen einem <strong>BiPRO</strong>-<br />
konformen Service Provider und Service Consumer gehandhabt werden. Hierbei werden alle<br />
relevanten Fehlertypen berücksichtigt.<br />
Voraussetzung<br />
<strong>Norm</strong> 220, Release 1 Version 1<br />
© Copyright <strong>BiPRO</strong> e.V. <strong>–</strong> Brancheninitiative Prozessoptimierung<br />
- Seite 1 von 8 -
28<br />
29<br />
30<br />
31<br />
32<br />
33<br />
34<br />
35<br />
36<br />
37<br />
Hinweis zur Veröffentlichung<br />
Die anliegend überreichte <strong>Norm</strong> ist urheberrechtlich für die <strong>BiPRO</strong> geschützt. Das Dokument<br />
wird Ihnen im Rahmen Ihrer Mitgliedschaft bei der <strong>BiPRO</strong> und damit als Mitglied dieses<br />
geschlossenen Empfängerkreises überlassen. Dementsprechend stellt die Überlassung an<br />
Sie keine Erstveröffentlichung der <strong>Norm</strong> dar. Zur Erstveröffentlichung gegenüber Dritten bleibt<br />
somit die <strong>BiPRO</strong> alleine berechtigt. Die Veröffentlichung erfolgt gemäß <strong>Norm</strong>100. Aufgrund<br />
der besonderen Wertigkeit der <strong>Norm</strong>en für die Mitglieder sind wir gehalten, Verstöße<br />
gerichtlich zu ahnden.<br />
© Copyright <strong>BiPRO</strong> e.V. <strong>–</strong> Brancheninitiative Prozessoptimierung<br />
- Seite 2 von 8 -
38<br />
39<br />
40<br />
41<br />
42<br />
43<br />
44<br />
45<br />
Inhaltsverzeichnis<br />
<strong>Norm</strong> <strong>250</strong> <strong>–</strong> <strong>Fehlerhandling</strong> .................................................................................................................. 1<br />
Inhaltsverzeichnis ................................................................................................................................. 3<br />
Fehler-Management ............................................................................................................................... 4<br />
Abstraktionsebene .............................................................................................................................. 4<br />
Modellierung von Fehlernachrichten .................................................................................................. 5<br />
Erweiterte Ausnahmebehandlung ...................................................................................................... 8<br />
© Copyright <strong>BiPRO</strong> e.V. <strong>–</strong> Brancheninitiative Prozessoptimierung<br />
- Seite 3 von 8 -
46<br />
47<br />
48<br />
49<br />
50<br />
51<br />
52<br />
53<br />
54<br />
55<br />
56<br />
57<br />
58<br />
59<br />
60<br />
61<br />
62<br />
63<br />
64<br />
65<br />
66<br />
67<br />
Fehler-Management<br />
Dieser Abschnitt beschreibt wie und in welchem Maße Fehlermanagement im <strong>BiPRO</strong>-Kontext<br />
durchgeführt wird.<br />
Im Detail behandelt dieser Abschnitt folgende Aspekte des Fehlermanagements<br />
• Abstraktionsebene<br />
Die Frage auf welcher Ebene Fehler, die bei Verwendung von <strong>BiPRO</strong> Diensten<br />
auftreten, behandelt werden<br />
• Modellierung von Fehlernachrichten<br />
In welchem Objektmodell <strong>BiPRO</strong> Fehlernachrichten beschrieben werden<br />
• Erweiterte Ausnahmebehandlungen<br />
Welche Ansätze zur erweiterten Ausnahmebehandlung benutzt werden können<br />
• <strong>Norm</strong>ierung von Fehlernachrichten<br />
Die Frage, wie Fehlernachrichten normiert werden können<br />
Abstraktionsebene<br />
<strong>BiPRO</strong> Fehler SOLLEN jene Fehler sein, die oberhalb der XML Validierungsebene auftreten.<br />
Ein spezifischer <strong>BiPRO</strong> Fehler kann also nur dann auftreten, wenn die zu verarbeitende XML<br />
Nachricht wohlgeformt im Sinne der W3C XML-Spezifikation und gültig gemäß des <strong>BiPRO</strong><br />
XML Schemas ist.<br />
Fehler, die unterhalb der beschriebenen Ebene auftreten, KÖNNEN einem <strong>BiPRO</strong> Basisfehler<br />
zugeordnet werden.<br />
© Copyright <strong>BiPRO</strong> e.V. <strong>–</strong> Brancheninitiative Prozessoptimierung<br />
- Seite 4 von 8 -
68<br />
69<br />
70<br />
71<br />
72<br />
73<br />
74<br />
75<br />
76<br />
77<br />
78<br />
79<br />
80<br />
81<br />
82<br />
83<br />
84<br />
85<br />
86<br />
87<br />
88<br />
Beispiel: Allgemeiner XML Verarbeitungsfehler<br />
Modellierung von Fehlernachrichten<br />
<strong>BiPRO</strong> Fehlermeldungen MÜSSEN grundsätzlich über die Objekte Status und Meldung des<br />
<strong>BiPRO</strong> Schemas wiedergegeben werden. Das Objekt Status enthält grundsätzlich die<br />
Information, ob ein Fehler aufgetreten ist. Ein Statusobjekt drückt diesen Fehler über die<br />
StatusId aus.<br />
Beispiel<br />
<br />
…<br />
…<br />
<br />
00001<br />
Optionale Fehlerbeschreibung<br />
<br />
Zur genauen Fehlerspezifikation SOLLTE die Fehlernachricht mindestens ein Objekt vom Typ<br />
Meldung beinhalten, das die Fehlernachricht tiefergehend beschreibt. Grundsätzlich KANN<br />
das Objekt Status beliebig viele Objekte vom Typ Meldung beinhalten. Ein Objekt vom Typ<br />
Status KANN unterschiedliche Typen von Objekt Meldung beinhalten. Hierarchische<br />
Beziehungen zwischen Objekten vom Typ Meldung sind nicht vorgesehen.<br />
© Copyright <strong>BiPRO</strong> e.V. <strong>–</strong> Brancheninitiative Prozessoptimierung<br />
- Seite 5 von 8 -
89<br />
90<br />
91<br />
92<br />
93<br />
94<br />
95<br />
96<br />
97<br />
98<br />
99<br />
100<br />
101<br />
102<br />
103<br />
104<br />
105<br />
106<br />
107<br />
108<br />
109<br />
110<br />
111<br />
112<br />
113<br />
114<br />
115<br />
116<br />
117<br />
118<br />
119<br />
120<br />
121<br />
122<br />
123<br />
Ein Objekt vom Typ Meldung MUSS über sein Attribut ArtID als Fehler typisiert werden. Eine<br />
weitergehende Typisierung der Fehlermeldung MUSS über das Attribut MeldungId erfolgen.<br />
Ein Meldungsobjekt KANN eine beschreibende, textuelle Fehlermeldung beinhalten. Die<br />
Fehlermeldung SOLLTE natürlichsprachlich und verständlich sein. Weiterhin SOLLTE ein<br />
Meldungsobjekt eine Fehlerquelle beschreiben. Die Quelle MUSS dann durch einen XPATH-<br />
Ausdruck gemäß W3C Spezifikation beschrieben sein. Der XPATH Ausdruck zeigt dann auf<br />
das originär fehlerverursachende Objekt der Eingangsnachricht. Die Eingangsnachricht<br />
SOLLTE vom Consumer vorgehalten werden, um im Fehlerfall den XPATH Ausdruck im<br />
synchronen und asynchronen Modell auswerten zu können.<br />
Werden L Defaultwerte zum Provider übertragen, der hiervon M Defaultwerte eigenständig<br />
verändert und weitere N Felder, die nicht vom Consumer gesendet wurden, eigenständig mit<br />
Defaultwerten belegt, so MUSS das Meldungsobjekt für die M veränderten Defaultwerte einen<br />
Hinweis für den Consumer enthalten, um dieses Verhalten zu signalisieren. Zusätzlich<br />
SOLLTEN diese Veränderungen über den optionalen XPATH-Ausdruck gekennzeichnet<br />
werden.<br />
Ein Meldungsobjekt kann einen Fehler also wie folgt ausdrücken:<br />
Schematischer Aufbau eines Fehlerobjekts<br />
<br />
…<br />
…<br />
<br />
00001<br />
${X5}<br />
<br />
${X1}<br />
${X2}<br />
${X3}<br />
${X4}<br />
<br />
<br />
…<br />
<br />
…<br />
<br />
© Copyright <strong>BiPRO</strong> e.V. <strong>–</strong> Brancheninitiative Prozessoptimierung<br />
- Seite 6 von 8 -
124<br />
125<br />
126<br />
127<br />
128<br />
129<br />
130<br />
131<br />
132<br />
133<br />
134<br />
135<br />
136<br />
137<br />
138<br />
139<br />
140<br />
141<br />
142<br />
143<br />
144<br />
145<br />
146<br />
147<br />
148<br />
149<br />
150<br />
Variable Wert<br />
${X1} Ein bestimmter Schlüsselwert des Datentyps ST_Meldungsart<br />
${X2} Ein bestimmter Schlüsselwert des Datentyps ST_Meldung<br />
${X3} Natürlichsprachlicher, verständlicher Fehlertext<br />
${X4} XPATH Ausdruck gemäß W3C <strong>Norm</strong><br />
${X5} Optionale, textuelle Beschreibung der Statusmeldung<br />
Das folgende Beispiel beschreibt eine konkrete, exemplarische <strong>BiPRO</strong> Fehlernachricht:<br />
Beispiel<br />
<br />
…<br />
…<br />
00001<br />
Optionale Fehlerbeschreibung<br />
<br />
1<br />
00002<br />
Die Adressdaten sind unvollständig<br />
/bipro:whateverelemement/bipro:fooelement <br />
<br />
<br />
…<br />
<br />
…<br />
<br />
Für den Fall, dass ein Fehler auf SOAP Ebene stattfindet, MUSS der Fehler im SOAP Objekt<br />
beschrieben werden. In diesem Fall ist also das oben beschriebene Fehlermodell hinfällig. Der<br />
<strong>BiPRO</strong>-spezifische Fehler wird dann im Element detail hinterlegt. Der Inhalt des Elements<br />
detail SOLLTE ein <strong>BiPRO</strong> Status Objekt sein.<br />
Beispiel<br />
<br />
© Copyright <strong>BiPRO</strong> e.V. <strong>–</strong> Brancheninitiative Prozessoptimierung<br />
- Seite 7 von 8 -
151<br />
152<br />
153<br />
154<br />
155<br />
156<br />
157<br />
158<br />
159<br />
160<br />
161<br />
162<br />
163<br />
164<br />
165<br />
166<br />
167<br />
168<br />
169<br />
170<br />
soap:Client<br />
Invalid message format<br />
http://example.org/someactor<br />
<br />