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

C.1.7 MQ連携の定義

WebSphere MQと連携したメッセージの送受信を行うためのサービスエンドポイント定義を作成します。

C.1.7.1 インバウンド

指定例

サービスエンドポイント定義

サービスエンドポイント定義:endpoint.xml
<?xml version="1.0" encoding="UTF-8" ?>
<EndpointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="esi-endpoint.xsd">
    <Endpoint name="endpoint01" sync="true">
        <SequenceName>sequence01</SequenceName>
        <ServiceName>service01</ServiceName>
    </Endpoint>
</EndpointList>
表C.23 定義項目

キー名

説明

指定例

Endpoint

name

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

endpoint01

sync

サービスエンドポイントの同期タイプ“true”(同期通信)を指定します。

true

SequenceName

シーケンス名を指定します。シーケンス定義に指定したシーケンス名を指定してください。

sequence01

ServiceName

サービス名を指定します。サービス情報に指定したサービス名を指定してください。

service01

サービス情報

サービス情報:service01.xml
<?xml version="1.0" encoding="UTF-8" ?>
<Service name="service01" type="MQ-MSG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="esi-service.xsd">
</Service>
表C.24 定義項目

キー名

説明

指定例

Service

name

サービス名を指定します。

service01

type

サービスのタイプ“MQ-MSG”を指定します。

MQ-MSG

C.1.7.2 アウトバウンド(Oneway方式)

指定例

サービスエンドポイント定義

サービスエンドポイント定義:endpoint.xml
<?xml version="1.0" encoding="UTF-8" ?>
<EndpointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="esi-endpoint.xsd">
    <Endpoint name="endpoint01" sync="true">
        <ServiceName>service01</ServiceName>
    </Endpoint>
</EndpointList>
表C.25 定義項目

キー名

説明

指定例

Endpoint

name

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

endpoint01

sync

サービスエンドポイントの同期タイプ“true”(同期通信)を指定します。

true

ServiceName

サービス名を指定します。サービス情報に指定したサービス名を指定してください。

service01

サービス情報

サービス情報:service01.xml
<?xml version="1.0" encoding="UTF-8" ?>
<Service name="service01" type="MQ-MSG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="esi-service.xsd">
   <PropertyList>
      <Property name="JCA.Version" secret="false">1</Property>
      <Property name="JCA.JNDI.name" secret="false">java:comp/env/eis/esimqadapter</Property>
      <Property name="JCA.ConnectionSpec.ImplClass.name" secret="false">com.fujitsu.esi.adapter.mq.outbound.cci.ESIMQAdapterConnectionSpec</Property>
      <Property name="JCA.ConnectionSpec.Param0.name" secret="false">setMQAdapterName</Property>
      <Property name="JCA.ConnectionSpec.Param0.type" secret="false">String</Property>
      <Property name="JCA.ConnectionSpec.Param0.value" secret="false">ISIMQSnd_00001</Property>
      <Property name="JCA.Interaction.ImplClass.type" secret="false">record_return</Property>
      <Property name="JCA.InteractionSpec.ImplClass.name" secret="false">com.fujitsu.esi.adapter.mq.outbound.cci.ESIMQAdapterInteractionSpec</Property>
      <Property name="JCA.InteractionSpec.Param0.name" secret="false">setMQMDVersion</Property>
      <Property name="JCA.InteractionSpec.Param0.type" secret="false">int</Property>
      <Property name="JCA.InteractionSpec.Param0.value" secret="false">2</Property>
      <Property name="JCA.InputRecord.type" secret="false">Mapped</Property>
      <Property name="JCA.InputRecord.Map1.name" secret="false">com.fujitsu.esi.jca.payload</Property>
      <Property name="JCA.InputRecord.Map1.type" secret="false">payload</Property>
      <Property name="JCA.InputRecord.Map2.name" secret="false">com.fujitsu.esi.jca.header</Property>
      <Property name="JCA.InputRecord.Map2.type" secret="false">headerSet</Property>
      <Property name="JCA.InputRecord.Map2.value" secret="false">*</Property>
      <Property name="JCA.OutputRecord.type" secret="false">Mapped</Property>
      <Property name="JCA.OutputRecord.Map1.name" secret="false">com.fujitsu.esi.jca.payload</Property>
      <Property name="JCA.OutputRecord.Map1.type" secret="false">payload</Property>
      <Property name="JCA.OutputRecord.Map2.name" secret="false">com.fujitsu.esi.jca.header</Property>
      <Property name="JCA.OutputRecord.Map2.type" secret="false">headerSet</Property>
      <Property name="JCA.OutputRecord.Map2.value" secret="false">*</Property>
   </PropertyList>
</Service>
表C.26 定義項目

キー名

説明

指定例

Service

name

サービス名を指定します。

service01

type

サービスのタイプ“MQ-MSG”を指定します。

MQ-MSG

Property

JCA.ConnectionSpec.Param0.value

ISIから呼び出すアウトバウンドのMQアダプタのワークユニット名を指定してください。

ISIMQSnd_00001

JCA.InteractionSpec.Param0.value

送信するWebSphere MQのメッセージの構造体のバージョン番号として、以下のどちらかを指定してください。

・1:バージョン1で設定されます。

・2:バージョン2で設定されます。

2

C.1.7.3 アウトバウンド(RequestResponse方式)

指定例

サービスエンドポイント定義

サービスエンドポイント定義:endpoint.xml
<?xml version="1.0" encoding="UTF-8" ?>
<EndpointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="esi-endpoint.xsd">
    <Endpoint name="endpoint01" sync="true">
        <ServiceName>mqreqresp01</ServiceName>
    </Endpoint>
</EndpointList>
表C.27 定義項目

キー名

説明

指定例

Endpoint

name

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

endpoint01

sync

サービスエンドポイントの同期タイプ“true”(同期通信)を指定します。

true

ServiceName

サービス名を指定します。サービス情報に指定したサービス名を指定してください

mqreqresp01

サービス情報

サービス情報:mqreqresp01.xml
<?xml version="1.0" encoding="UTF-8" ?>
<Service name="mqreqresp01" type="MQ-MSG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="esi-service.xsd">
   <Description>MQサービスエンドポイントのサンプルです。</Description>
   <PropertyList>
      <Property name="JCA.Version" secret="false">1</Property>
      <Property name="JCA.JNDI.name" secret="false">java:comp/env/eis/esimqadapter</Property>
      <Property name="JCA.Interaction.ImplClass.type" secret="false">record_return</Property>
      <Property name="JCA.InteractionSpec.ImplClass.name" secret="false">com.fujitsu.esi.adapter.mq.outbound.cci.ESIMQAdapterInteractionSpec</Property>
      <Property name="JCA.InteractionSpec.Param0.name" secret="false">setMQMDVersion</Property>
      <Property name="JCA.InteractionSpec.Param0.type" secret="false">int</Property>
      <Property name="JCA.InteractionSpec.Param0.value" secret="false">2</Property>
      <Property name="JCA.InteractionSpec.Param1.name" secret="false">setReqresp</Property>
      <Property name="JCA.InteractionSpec.Param1.type" secret="false">boolean</Property>
      <Property name="JCA.InteractionSpec.Param1.value" secret="false">true</Property>
      <Property name="JCA.InteractionSpec.Param2.name" secret="false">setUseInterval</Property>
      <Property name="JCA.InteractionSpec.Param2.type" secret="false">boolean</Property>
      <Property name="JCA.InteractionSpec.Param2.value" secret="false">true</Property>
      <Property name="JCA.InteractionSpec.Param3.name" secret="false">setInterval</Property>
      <Property name="JCA.InteractionSpec.Param3.type" secret="false">int</Property>
      <Property name="JCA.InteractionSpec.Param3.value" secret="false">1000</Property>
      <Property name="JCA.InteractionSpec.Param4.name" secret="false">setUseRecvkeyMsgId</Property>
      <Property name="JCA.InteractionSpec.Param4.type" secret="false">boolean</Property>
      <Property name="JCA.InteractionSpec.Param4.value" secret="false">true</Property>
      <Property name="JCA.ConnectionSpec.ImplClass.name" secret="false">com.fujitsu.esi.adapter.mq.outbound.cci.ESIMQAdapterConnectionSpec</Property>
      <Property name="JCA.ConnectionSpec.Param0.name" secret="false">setMQAdapterName</Property>
      <Property name="JCA.ConnectionSpec.Param0.type" secret="false">String</Property>
      <Property name="JCA.ConnectionSpec.Param0.value" secret="false">ISIMQReq_00001</Property>
      <Property name="JCA.ConnectionSpec.Param1.name" secret="false">setMQResponseAdapterName</Property>
      <Property name="JCA.ConnectionSpec.Param1.type" secret="false">String</Property>
      <Property name="JCA.ConnectionSpec.Param1.value" secret="false">ISIMQRes_00001</Property>
      <Property name="JCA.ConnectionSpec.Param2.name" secret="false">setServiceName</Property>
      <Property name="JCA.ConnectionSpec.Param2.type" secret="false">@INPUT</Property>
      <Property name="JCA.ConnectionSpec.Param2.value" secret="false">SERVICE_NAME</Property>
      <Property name="JCA.InputRecord.type" secret="false">Mapped</Property>
      <Property name="JCA.InputRecord.Map1.name" secret="false">com.fujitsu.esi.jca.payload</Property>
      <Property name="JCA.InputRecord.Map1.type" secret="false">payload</Property>
      <Property name="JCA.InputRecord.Map2.name" secret="false">com.fujitsu.esi.jca.header</Property>
      <Property name="JCA.InputRecord.Map2.type" secret="false">headerSet</Property>
      <Property name="JCA.InputRecord.Map2.value" secret="false">*</Property>
      <Property name="JCA.OutputRecord.type" secret="false">Mapped</Property>
      <Property name="JCA.OutputRecord.Map1.name" secret="false">com.fujitsu.esi.jca.payload</Property>
      <Property name="JCA.OutputRecord.Map1.type" secret="false">payload</Property>
      <Property name="JCA.OutputRecord.Map2.name" secret="false">com.fujitsu.esi.jca.header</Property>
      <Property name="JCA.OutputRecord.Map2.type" secret="false">headerSet</Property>
      <Property name="JCA.OutputRecord.Map2.value" secret="false">*</Property>
   </PropertyList>
</Service>
表C.28 定義項目

キー名

説明

指定例

Service

name

サービス名を指定します。

mqreqresp01

type

サービスのタイプ“MQ-MSG”を指定します。

MQ-MSG

Property

JCA.ConnectionSpec.Param0.value

要求メッセージを送信するMQアダプタのワークユニット名を指定します。

ISIMQReq_00001

JCA.ConnectionSpec.Param1.value

応答メッセージを受信するMQアダプタのワークユニット名を指定します。

ISIMQRes_00001

JCA.InteractionSpec.Param0.value

送信するMQメッセージの構造体のバージョン番号を、以下のいずれかで指定します。

・1:MQMD_VERSION_1で設定されます。

・2:MQMD_VERSION_2で設定されます(デフォルト)。

2

JCA.InteractionSpec.Param1.value

RequestResponse方式を利用するための設定です。

必ず“true”を設定してください。

true

JCA.InteractionSpec.Param2.value

サービスエンドポイントで個別に応答メッセージの待ち時間を指定する場合“true”を指定します。

“false”を指定した場合、アウトバウンドのMQアダプタ(Response)設定ファイルの“recvTimeout”で指定された値が応答メッセージの待ち時間に使用されます。

true

JCA.InteractionSpec.Param3.value

応答メッセージの受信待ち時間をミリ秒単位で指定します。

指定可能な値は0~60000(1分)の整数です。0を指定した場合、応答メッセージの待ち合わせを実施しません。

省略した場合、1000(ミリ秒)が設定されます。

1000

JCA.InteractionSpec.Param4.value

MQメッセージの受信時に、検索キーとして追加でMsgIdを利用するかどうかを指定します。

デフォルトおよび省略時は“false”となります。

・true:MsgIdを検索キーとして利用する。

・false:MsgIdを検索キーとして利用しない。

true

上記の表に記載されていないパラメタについては、定義例の記載通りに設定してください。