ページの先頭行へ戻る
Interstage Service Integrator Studio ISI Studio ヘルプ

9.10 ルーティングして同期サービスを呼び出す

ルーティング機能を使用して、条件に合った同期のサービスエンドポイントでサービスを呼び出す場合のステップ情報(個別)の指定例は、以下のとおりです。

画面例(ルーティング定義を利用する)

この例では、ルーティング定義“rout01”で指定した条件に従って、サービスエンドポイントが決定し、サービスを呼び出しています。

図9.20 ルーティング定義を使用した画面例(プロパティビュー)

画面例(ルーティング定義を利用しない)

この例では、条件式を使用してルーティングしています。

ヘッダ“price”の値が“1000”の条件に一致する場合は、サービスエンドポイント“endpoint01”で定義されたサービスを呼び出します。

この条件を満たさず、ヘッダ“company”の文字列が“Fujitsu”の条件に一致する場合は、サービスエンドポイント“endpoint02”で定義されたサービスを呼び出します。

どちらの条件も満たさない場合は、サービスエンドポイント“endpoint00”で定義されたサービスを呼び出します。

図9.21 ルーティング定義を使用しない同期サービス呼出しの画面例(プロパティビュー)

指定例

表9.19 プロパティの項目

項目

説明

指定例

ルーティング方法

ルーティング定義を指定するかどうかを指定します。以下から選択します。

  • ルーティング定義(デフォルト)
    ルーティング定義を指定します。

  • 条件式
    条件式とサービスエンドポイント名を指定します。

ルーティング定義

ルーティング名

呼び出すサービスを決定する条件を指定したルーティングを指定します。
ルーティング定義作成時に指定する[ルーティング種別]が、“アウトバウンド”のルーティング定義を指定します。

rout01

下記条件以外のサービスエンドポイント名

どの条件式にも一致しなかったときに呼び出すサービスが定義されているサービスエンドポイント名を指定します。

endpoint00

条件

1

条件式とサービスエンドポイント名を指定します。

条件式

条件式を指定します。詳細は、“条件式”を参照してください。

$price == 1000

サービスエンドポイント名

条件に一致したときに呼び出すサービスが定義されているサービスエンドポイント名を指定します。

endpoint01

2

条件式とサービスエンドポイント名を指定します。

条件式

条件式を指定します。詳細は、“条件式”を参照してください。

$company @EQUAL@ “Fujitsu”

サービスエンドポイント名

条件に一致したときに呼び出すサービスが定義されているサービスエンドポイント名を指定します。

endpoint02

[追加]ボタン

条件を追加します。

[編集]ボタン

条件を指定するダイアログボックスが表示されます。

[削除]ボタン

条件を削除します。

呼出し先サービスからのエラーメッセージをエラーシーケンスに通知する

提供側サービスでエラーが発生した場合に、提供側サービスから返されたエラーメッセージをエラーシーケンスに通知するかどうかを指定します。

エラーシーケンスへのエラーメッセージ通知する場合は、チェックボックスをオン(チェックつき)にしてください。

エラーメッセージをエラーシーケンスに通知しない(チェックなし)

条件式

ここでは、条件式で指定できる演算子と文法について説明します。

演算子

条件式で指定できる演算子を以下に示します。

表9.20 演算子の一覧

演算子

説明

>

数値比較を行います。左辺の値が右辺の値よりも大きい場合に真となります。

<

数値比較を行います。左辺の値が右辺の値よりも小さい場合に真となります。

>=

数値比較を行います。左辺の値が右辺の値以上の場合に真となります。

<=

数値比較を行います。左辺の値が右辺の値以下の場合に真となります。

==

数値比較を行います。左辺の値が右辺の値と等しい場合に真となります。

!=

数値比較を行います。左辺の値が右辺の値と異なる場合に真となります。

@EQUAL@

文字列比較を行います。左辺の文字列が右辺の文字列と等しい場合に真となります。

@NOTEQUAL@

文字列比較を行います。左辺の文字列が右辺の文字列と異なる場合に真となります。

条件式の文法

条件式には、以下の文法があります。