ページの先頭行へ戻る
Interstage Service Integrator V9.5.0 アプリケーション開発ガイド
FUJITSU Software

C.4.1 ルーティング定義の構成

ルーティング定義の構成と指定例は、以下のとおりです。

ルーティング定義
MessageDistribution
      Description
      PositionList
            Position
      DistributionList
            Distribution
                  Condition
                  Endpoint
                  Sequence

指定例

ルーティング定義の指定例は、以下のとおりです。この例では、条件文により受信したデータを判断し、以下のようにインバウンドサービスエンドポイントへ転送しています。

データの位置
条件
ルーティング定義:soap.xml
<?xml version="1.0" encoding="UTF-8" ?>
<MessageDistribution name="soap-distribution" routing="INBOUND" inboundtype="SOAP-MSG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="esi-endpointdistribution.xsd">
    <Description>受信用振分け定義</Description>
    <PositionList>
        <Position name="bookid" type="xml">/booklist/book/@bookid</Position>
        <Position name="price" type="xml">/booklist/book/price</Position>
        <Position name="division" type="flat" code="Shift-jis">0,3</Position>
    </PositionList>
    <DistributionList>
        <Distribution>
            <Condition>$bookid @EQUAL@ "B01"</Condition>
            <Endpoint>endpoint01</Endpoint>
        </Distribution>
        <Distribution>
            <Condition>$bookid @EQUAL@ "B02" &amp;&amp; $price &lt; 1000</Condition>
            <Endpoint>endpoint02</Endpoint>
            <Condition>$bookid @EQUAL@ "B02" &amp;&amp; $price &gt;= 1000</Condition>
            <Endpoint>endpoint03</Endpoint>
        </Distribution>
        <Distribution>
            <Condition>$division @EQUAL@ "999"</Condition>
            <Endpoint>endpoint11</Endpoint>
        </Distribution>
        <Distribution>
            <Condition>*</Condition>
            <Endpoint>endpoint21</Endpoint>
        </Distribution>
    </DistributionList>
</MessageDistribution>
表C.109 定義項目

キー名

説明

指定例

MessageDistribution

name

ルーティング定義名を指定します。ユーザが任意に指定できます。

soap-distribution

routing

ルーティング種別を指定します。

  • INBOUND
    受信メッセージを各インバウンドサービスエンドポイントへルーティングするための定義です。“inboundtype”属性で指定するサービスで使用します。

  • OUTBOUND
    送信メッセージを各アウトバウンドサービスエンドポイントへルーティングするための定義です。メッセージ送信メディエータファンクションで使用します。

  • SEQUENCE
    インバウンドサービスエンドポイントから各シーケンスへルーティングするための定義です。

INBOUND

inboundtype

ルーティング種別が“INBOUND”の場合、接続方式を指定します。以下のどれかを指定します。

  • SOAP-MSG
    SOAP接続でのルーティングを行います。

  • CORBA
    CORBA接続でのルーティングを行います。

  • MQ-MSG
    MQ連携でのルーティングを行います。

  • QUECONNECTED
    キュー間転送でのルーティングを行います。

  • MQD
    MQD接続でのルーティングを行います。

  • COMMON
    カスタムアダプタ接続でのルーティングを行います。

SOAP-MSG

outboundtype

ルーティング種別が“OUTBOUND”のときに同期か非同期かを指定します。指定しない場合は互換定義になります。

  • SYNC
    同期サービスエンドポイントのルーティングを行います。

  • ASYNC
    非同期サービスエンドポイントのルーティングを行います。

SYNC

Description

ルーティング定義についての説明を指定します。

受信用振分け定義

Parameter

1

条件に合うかどうかを判断するデータの位置を指定します。

name

パラメタ名を指定します。ユーザが任意に指定できます。

bookid

type

データのタイプを指定します。

xml

データの位置をXPathで指定します。

/booklist/book/@bookid

2

条件に合うかどうかを判断するデータの位置を指定します。

name

パラメタ名を指定します。ユーザが任意に指定できます。

price

type

データのタイプを指定します。

xml

データの位置をXPathで指定します。

/booklist/book/price

3

条件に合うかどうかを判断するデータの位置を指定します。

name

パラメタ名を指定します。ユーザが任意に指定できます。

division

type

データのタイプを指定します。

flat

code

使用している文字コードを指定します。

Shift-jis

データの位置を“開始位置,けた数”で指定します。

0,3

DistributionList

Distribution

1

Condition

データを振り分ける条件を指定します。

条件式を指定します。

$bookid @EQUAL@ "B01"

Endpoint

振分け先のサービスエンドポイント名を指定します。

振分け先のサービスエンドポイント名を指定します。

endpoint01

2

Condition

データを振り分ける条件を指定します。

条件式を指定します。

$bookid @EQUAL@ "B02" &amp;&amp; $price &lt; 1000

Endpoint

振分け先のサービスエンドポイント名を指定します。

振分け先のサービスエンドポイント名を指定します。

endpoint02

Condition

データを振り分ける条件を指定します。

条件式を指定します。

$bookid @EQUAL@ "B02" &amp;&amp; $price &gt;= 1000

Endpoint

振分け先のサービスエンドポイント名を指定します。

振分け先のサービスエンドポイント名を指定します。

endpoint03

3

Condition

データを振り分ける条件を指定します。

条件式を指定します。

$division @EQUAL@ "999"

Endpoint

振分け先のサービスエンドポイント名を指定します。

振分け先のサービスエンドポイント名を指定します。

endpoint11

4

Condition

データを振り分ける条件を指定します。

条件式を指定します。

*

Endpoint

振分け先のサービスエンドポイント名を指定します。

振分け先のサービスエンドポイント名を指定します。

endpoint21