TUTORIAL: Prosty Error Handler dla Stage

Powróćmy na moment do konfiguracji z tutoriala Validate Action dla Web Services. Jak pamiętamy dla komponentu Request Pipeline dodaliśmy komponent Validate, odpowiedzialny za walidację wysyłanych żądań. Zadaniem Czytelnika będzie dodanie i konfiguracja tego samego komponentu dla Request Pipeline gałęzi dla operacji CelsiusToFahrenheit. Wynik powinien być następujący:


Zmodyfikujemy jednak trochę ten komponent i zamiast walidacji w oparciu o WSDL, przeprowadzimy w oparciu o własny schemat XSD:


Zauważmy podstawową zmiane w stosunku do schematu wiadomości z WSDL. W WSDL żądanie było typu string, natomiast w XSD jest typu int.

Zmieniamy walidację.


Dodamy teraz obsługę błędów dla Validate Stage:

1) Klikamy na Validate Stage i wybieramy Add Stage Error Handler. Zostajemy przekierowani do nowego widoku.


2) Klikamy na Error Handler i wybieramy Add Stage.

3) Klikamy na stage1, zmieniamy jego nazwę na np. Error Stage, a następnie wybieramy Edit Stage.

4) Klikamy w Add an Action i wybieramy Reporting->Alert.


5) Klikamy w Expression i wpisujemy $body.

6) W polu alert-summary wpisujemy dowolny tekst np. Błąd danych wejściowych.

7) Z listy severity level wybieramy Critical.


Krótkie wytłumaczenie akcji Alert.
Akcja Alert pozwala na raportowanie błędów w głównej konsoli OSB dostępnej w zakładce Operations, a następnie w zakładce Pipeline Alerts.


Przetestujmy nasze Proxy Service i zobaczmy jak to wygląda w praktyce:

I przypadek – prawidłowe dane wejściowe dla operacji CelsiusToFahrenheit.


Widzimy, że cały Message Flow został poprawnie wykonany. Validate Stage nie zgłosił żadnego błędu i otrzymaliśmy prawidłowy wynik.

II przypadek – błędne dane wejściowe dla operacji CelsiusToFahrenheit.



Otrzymujemy błąd zgłoszony przez Validate Stage: OSB Validate action failed validation oraz Invalid decimal value: unexpected char '112'.

Zobaczmy jeszcze konsolę OSB i raport o błędzie:


0 komentarze:

Prześlij komentarz