Show TOC

Nachrichtenbearbeitung in Web ServiceLocate this document in the navigation structure

eCATT ist ein Testwerkzeug, das automatische Tests durch die Ausführung von Testskripts unterstützt. Testskripts enthalten Algorithmen, die aus eCATT-Befehlen bestehen. Es werden einzelne Befehle für die zu testenden Objekte in einem Zielsystem verwendet.

eCATT verfügt über eine Funktion, die es Testern ermöglicht, Web Services eines beliebigen Service-Providers im Netzwerk zu testen. eCATT verwendet die Web-Service-Laufzeit und generiert ABAP-Proxy-Klassen für den Aufruf von Web Services.

In den Standarddefinitionen der Web Services gibt es keine allgemeingültige Definition für das Reporting auf Geschäftslogikebene - z.B. für Fehlermeldungen bei logischen Anwendungen und für andere Informationen, die von dem Service, der die Anwendung anbietet, dem Service-Consumer bereitgestellt werden müssen.

Die von der SAP-Software gelieferten Web Services verwenden häufig eine gemeinsam verwendete Nachrichtenstruktur im Exportparameter LOG des Web Services. Die Nachrichtenstruktur wird als eine Tabelle von Nachrichteneinträgen definiert, von denen jede Felder enthält. Unter anderem sind das die folgenden:

Feldname

Datentyp

Inhalt

TYPE_ID

CHAR40

Msgnr(msgid)

SEVERITY_CODE

CHAR1

3,2, oder 1

NOTE

CHAR200

Nachrichtentext mit allen variablen Teilen

Wenn die Struktur der Nachricht die oben beschriebenen Felder enthält, bearbeitet eCATT die von Web-Service-Aufrufen gemeldeten Nachrichten im Exportparameter LOG und verwendet dafür die standardmäßige Nachrichtenbehandlung von eCATT.

Die Nachrichtenstruktur von eCATT (ETMSG_RES) wird entsprechend gemäß der folgenden Mapping-Regeln gefüllt:

WS Log field

ETMSG_RES field

Transfomation rule

SEVERITY_CODE

MSGTYP

3=E; 2=W; 1=I oder beliebig

TYPE_ID

MSGID

Wert innerhalb ( ) von msgnr(msgid)

TYPE_ID

MSGNR

Wert vor ( ) von msgnr(msgid)

MSGTEXT

NOTE

keine Transformation, der Nachrichtentext wird ohne Veränderung verwendet

Verwendung

Standardverwendung

Nachrichtenbehandlung ohne MESSAGE/ENDMESSAGE

Es gibt kein spezielles Verhalten zur Laufzeit für WEBSERVICE-Befehle, vorausgesetzt es werden keine Fehlermeldungen ausgelöst.

Wenn eine Nachricht mit MSGTYP = E (SEVERITY_CODE = 3) auftritt, wird der eCATT-Befehl WEBSERVICE als FAILED (rotes Symbol) im eCATT-Protokoll gekennzeichnet.

Die Nachricht selbst wird im eCATT-Protokoll bei Befehl WEBSERVICE angezeigt.

Nachrichtenbehandlung mit MESSAGE/ENDMESSAGE

Testentwickler können Regeln im Befehl MESSAGE verwenden, um Einfluss auf die weitere Testausführung und das Testergebnis zu nehmen, wenn eine der zugeordneten Nachrichten auftritt.

Im Auswahlbereich einer Regel können Sie festlegen, welche Nachrichten gewählt werden sollen, indem Sie den Nachrichtentyp, die Nachrichten-ID oder die Nachrichtennummer als Kriterium verwenden.

Im Aktionsbereich einer Regel können Sie eine Nachricht als Erlaubt oder Erforderlich definieren. Sie können den Status Fehlgeschlagen setzen, wenn bestimmte Nachrichten ausgelöst werden. Sie können den Status Erfolgreich setzen, wenn eine bestimmte Nachricht erwartungsgemäß auftritt.