TUTORIAL: Operational Branch i Insert Action dla Web Services
W poprzednim tutorialu Validate Action dla Web Services wspomniano o komponencie Operational Branch. Jest to komponent, dzięki któremu najprościej rzecz ujmując można zdefiniować osobny Message Flow dla każdej operacji z Web Service. Inaczej – w zależności od wybranej operacji zostaną wykonane akcje w Message Flow zdefiniowane dla tej operacji.
W naszym przypadku Web Service udostępnia dwie operacje:
- FahrenheitToCelsius
- CelsiusToFahrenheit
- CelsiusToFahrenheit
Dla każdej z wyżej wymienionych operacji, dzięki Operational Branch jesteśmy w stanie zdefiniować niezależne Message Flow.
Ten tutorial pokaże zastosowanie Operational Branch oraz akcji manipulacji wynikiem w postaci akcji Insert oraz warunku logicznego If… Then…
OPERATIONAL BARNCH
1) Przechodzimy do podstawowej konfiguracji Message Flow (nie zapomnij o aktywowaniu sesji).
2) Klikamy na ConvertTemperature i wybieramy Add Operational Branch, klikamy w OK.
Otrzymaliśmy Default Branch. Możemy zobaczyć co się w niej znajduje. Nas jednak interesują własne Message Flow dla operacji.
3) Klikamy w BranchNode1 i wybieramy Edit Branch.
4) Z listy rozwijalnej wybieramy pierwszą operację CelsiusToFahrenheit i po prawej stronie klikamy ikonkę Add a New Branch. Powtarzamy akcję dla drugiej operacji.
5) Klikamy Save.
Mamy teraz 3 zdefiniowane gałęzie dla operacji w tym jedną defaultową. W tutorialu przedstawimy akcje dla operacji CelsiusToFahrenheit.
6) Klikamy w CelsiusToFahrenheit, a następnie w BranchNode1 : CelsiusToFahrenheit.
7) Wybieramy Add Route. Tutaj w ramach ćwiczenia proponuję sobie odświeżyć w jaki sposób dodać Business Service do Message Flow. Dodam tylko, że przy wyborze operacji w akcji Routing mamy możliwość wyboru konkretnej operacji. Należy pamiętać o wybraniu odpowiedniej.
8) Następnie znów klikamy na BranchNode1 : CelsiusToFahrenheit, ale tym razem wybieramy Add Pipeline Pair.
9) Dodajemy Stage do Responset Pipeline.
10) Zmieniamy nazwę na If... Then Stage i przechodzimy do edycji.
AKCJA IF… THEN
1) Na początek w Add an Action przechodzimy do Flow Control i wybieramy If… Then…
2) Klikamy w Condition.
3) Pod guzikiem Save wybieramy Builder.
4) Po lewej przechodzimy do zakładki Variable Structures i z listy do zmiennej body.
5) Rozwijamy wszystkie elementy z $body - CelsiusToFahrenheit (response) i przenosimy element CelsiusToFahrenheitResult do pola Operand.
6) Zmieniamy Operator na >=.
7) W polu Value wpisujemy 30.
8) Klikamy w Add, Validate i na końcu Save.
9) Klikamy teraz w ikonkę obrazującą warunek i wybieramy Add else Condition.
Otrzymaliśmy pełną strukturę logiczną warunku.
AKCJA INSERT
Zapoznamy się z prostą akcją Insert, która pozwala wstawiać np. tekst wewnątrz lub pomiędzy elementy odpowiedzi zwrotnej.
W tutorialu postaramy się uzyskać wynik w zależności od spełnionego warunku:„Uwaga GORĄCO - Temperatura wynosi: WynikowaTemperatura” lub ZIMNO.
1) Dla dwóch Add an Action wybieramy Message Processing -> Insert.
2) Klikamy w Expression i w wpisujemy 'Uwaga GORĄCO - Temperatura wynosi: ' (należy pamiętać o apostrofach).
3) Klikamy Validate i Save.
4) Z listy wybieramy as first child as.
5) Klikamy w XPath.
6) Przechodzimy do struktury zmiennej $body - CelsiusToFahrenheit (response) i przenosimy element przechowujący wynik czyli CelsiusToFahrenheitResult.
7) Klikamy Validate i Save.
8) W polu variable wpisujemy body.
9) Powtarzamy te same czynności dla drugiej akcji Insert.
10) Zapisujemy i aktywujemy sesję.
Czas na testy.
Pamiętajmy, że zaprojektowaliśmy przepływ tylko dla jednej operacji, dlatego też nasz test będzie bazował na operacji CelsiusToFahrenheit.
Dane testowe I: 15
Wynik I:
Dane testowe II: 30
Wynik II:













0 komentarze:
Prześlij komentarz