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