Nachrichten im Fehlerfalle Einführung Die Fehlerbehandlung richtet sich nach dem SOAP-Standard, d.h. es werden sog. SOAP-Exceptions im Fehlerfalle zurückgegeben. Diese geben eine detaillierte Auskunft darüber, wo der Fehler aufgetreten ist und um was für einen Fehler es sich handelt. Ein Beispiel für eine SOAP-Exception ist in nachfolgendem Abschnitt gegeben: <?xml version='1.0' encoding='UTF-8'?> <soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' soap:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'> <soap:Body> <soap:Fault> <faultcode>SAP/DSB/JDM01002</faultcode> <faultstring>[SAP/DSB/JDM01002] The sap function returned an error</faultstring> <faultactor>Client</faultactor> <detail> <?xml version="1.0" encoding="ISO-8859-1"?> <message version='1.0' system='avs3'> <header> <client/> </header> <body> <description>The sap function returned an error</description> <code>SAP/DSB/JDM01002<//code> <timestamp>2003-08-06 11:03:15</timestamp> <sap-exception> <msgid>/DSB/JDM01</msgid> <msgno>002</msgno> <msgtype>E</msgtype> <msgv1/> <msgv2/> <msgv3>/DSB/JWT_BQ</msgv3> <msgv4/> <msgtext>Kein Eintrag zur Selektion in Tabelle /DSB/JWT_BQ vorhanden.</msgtext> </sap-exception> <sap-result> <OUT_STAPEL>03227ABOser060803</OUT_STAPEL> </sap-result> </body> </message> </detail> </soap:Fault> </soap:Body> </soap:Envelope> Eine SOAP-Exception setzt sich demnach aus 4 Teilen zusammen: Faultcode: Dieser enthält einen Fehlercode, welcher den Fehler als maschinenlesbarer Code beschreibt. Die Fehlercodes, welche für die einzelnen Webservices der dsb auftreten können, sind im nächsten Abschnitt aufgeführt. Faultstring: Nach der Spezifikation ist hierin eine Fehlerbeschreibung im menschenlesbaren Format anzugeben. Dieser String setzt sich deshalb bei den Webservices der dsb aus dem oben aufgeführten Faultcode zusammen und einer Beschreibung dieses Fehlers. Diese Strings sind im nächsten Abschnitt zu den entsprechend vorhandenen Faultcodes aufgeführt. Faultactor: Dieses Feld soll angeben, wo die Ursache des Fehlers zu suchen ist. Mögliche Werte sind ‚Client‘ und ‚Server‘, je nachdem, ob der Fehler ursächlich im Client-Programm (d.h. dem Aufrufer des Webservices) oder dem Server zu suchen ist. Detail: Hier sind anwendungsspezifische Fehlerinformationen enthalten. Diese Informationen wiederum sind als XML-Nachricht codiert. Sie enthalten normalerweise eine noch tiefergehende Beschreibung des Fehlers und evtl. noch anwendungsspezifische Informationen für den Client. Tendenziell ist nur bei sehr wenigen SOAP-Exceptions das Detail-Tag auszuwerten. Falls ein Framework zum Erzeugen und Senden von SOAP-Nachrichten verwendet wird, so existiert normalerweise eine Möglichkeit im Falle einer SOAP-Exception direkt auf diese 4 Felder zuzugreifen bzw. diese auszuwerten. Im den nächsten Abschnitten wird für jeden Webservice beschrieben, welche Faultcodes in den einzelnen SOAP-Exceptions des Webservice auftreten können und was in diesem Falle zu tun ist. Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. OK Weitere Information