18.01.2013 Aufrufe

Norm 250 – Fehlerhandling - BiPRO

Norm 250 – Fehlerhandling - BiPRO

Norm 250 – Fehlerhandling - BiPRO

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 />

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!