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

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