Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム 解説


2.2.7 Webサービス(SOAP通信)の場合の接続先動的変更

SOAPアダプタの通信先は,ビジネスプロセスで設定した接続先URLを使って動的に変更できます。ビジネスプロセスで接続先URLを設定しておくと,サービスアダプタを実行したときに通信先が変更されます。これにより,作成するサービスアダプタの数を削減できます。

なお,ビジネスプロセスで接続先URLを設定しなかった場合は,開発環境で設定したWebサービスの接続先URLでSOAP通信を行います。

〈この項の構成〉

(1) 接続先動的変更の処理の流れ

通信基盤ごとの,SOAP通信時の接続先動的変更の処理の流れを次に説明します。

(a) SOAP通信基盤を使用するとき

通信基盤にSOAP通信基盤を使用するときの接続先動的変更の処理の流れを次の図に示します。

図2‒22 通信基盤にSOAP通信基盤を使用するときの接続先動的変更の処理の流れ

[図データ]

説明

図中の番号は,次の説明の番号と対応しています。

  1. 要求電文内のヘッダ電文から接続先URLを取得します。

  2. 要求電文の情報を基にSOAPメッセージを作成します。

  3. 取得した接続先URLでサービスと通信を行います。

(b) JAX-WSエンジンを使用するとき

通信基盤にJAX-WSエンジンを使用するときの接続先動的変更の処理の流れを次の図に示します。

図2‒23 通信基盤にJAX-WSエンジンを使用するときの接続先動的変更の処理の流れ

[図データ]

説明

図中の番号は,次の説明の番号と対応しています。

  1. 要求電文内のヘッダ電文から接続先URLを取得します。

  2. 要求電文の情報を基にSOAPメッセージを作成します。

  3. 接続先URLを設定します。

  4. 設定した接続先URLのサービスと通信を行います。

(2) 接続先情報を動的に変更する例

接続先情報ファイルを使用して,接続先情報を動的に変更する例を説明します。

(a) ビジネスプロセスの例

接続先情報ファイルを使用するビジネスプロセスの例を次の図に示します。

図2‒24 接続先情報ファイルを使用するビジネスプロセスの例(SOAPアダプタの場合)

[図データ]

  1. サービスリクエスタがビジネスプロセスにサービス部品の実行を要求します。

  2. サービスリクエスタから送付する要求電文内のヘッダ電文に接続先URLを設定します。

  3. ビジネスプロセスはXMLの要求電文を受付アクティビティで受け取ります。

  4. ビジネスプロセスがヘッダ要求データおよび要求データを生成します。

  5. ヘッダ要求データの接続先URLを,データ変換アクティビティなどで接続先URL変数に設定します。

  6. ビジネスプロセスは接続先URL変数から接続先URLを取得して,サービス部品を呼び出します。

  7. ビジネスプロセスが,サービス部品の実行結果をXMLの応答電文として構成し,応答アクティビティで返します。

  8. サービスリクエスタへの応答が返されます。

  9. サービスリクエスタへの応答では,XMLの応答電文が送付されます。

(3) ユーザ定義受付を生成するWSDLの作成例

ユーザ定義受付を生成するWSDLの作成例を次に示します。

なお,この例では,接続先となるサービス部品のURLをSOAPヘッダで送付しています。

[図データ]

(a) データ変換アクティビティの設定例

図2-24 接続先情報ファイルを使用するビジネスプロセスの例(SOAPアダプタの場合)」に示すビジネスプロセスで使用するデータ変換アクティビティの設定例を次に示します。

ここでは,変換元に「ヘッダ要求データ」を,変換先に「接続先URL」を指定しています。

図2‒25 データ変換アクティビティの設定例(SOAPアダプタの場合)

[図データ]

また,変換のマッピングは,次の図に示すとおりに定義します。

図2‒26 変換のマッピングの設定例(SOAPアダプタの場合)

[図データ]

(b) 接続先情報ファイルの定義

Webサービスに接続するためのURLをサービスアダプタに設定するための接続先情報ファイル(XMLスキーマ)に定義します。

サービスプラットフォームでは,接続先情報ファイルを提供しています。

  • 接続先情報ファイルの格納先

    <サービスプラットフォームのインストールディレクトリ>/CSC/schema/connection/connection_soap_adapter.xsd
注意事項

SOAPアダプタの接続先情報を動的に変更する場合,サービスプラットフォームで提供している接続先情報ファイルを使用してください。提供している接続先情報ファイルを使用しなかった場合,動作は保証されません。

  • 接続先情報ファイルの形式

    <?xml version="1.0" encoding="UTF-8"?>
    <!--
     DO NOT EDIT THIS FILE.
     -->
    <xsd:schema
        elementFormDefault="qualified"
        targetNamespace="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/connection/change/soap"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <xsd:element name="soapAddress">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="endpointURL" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>
  • 設定できる要素

    endpointURL 〜<文字列>

    サービス部品の接続先URLを指定します。

(c) 接続先情報の設定

図2-24 接続先情報ファイルを使用するビジネスプロセスの例(SOAPアダプタの場合)」に示すビジネスプロセスで使用する接続先情報の設定例を次に示します。なお,接続先情報は,サービス呼出アクティビティのヘッダ割当変数に設定します。ここで設定した情報が,SOAPアダプタで参照できる情報になります。

図2‒27 接続先情報の設定例(サービス呼出アクティビティの設定)

[図データ]

(4) 注意事項