Cosminexus サービスプラットフォーム システム構築・運用ガイド

[目次][用語][索引][前へ][次へ]

5.4.2 Webサービス(SOAP通信)を使ったサービス呼び出し

<この項の構成>
(1) SOAP通信基盤との関係
(2) サービス部品呼び出し時のユーザ電文とWSDLの関係
(3) Webサービス(SOAP通信)の場合のトランザクション

(1) SOAP通信基盤との関係

実行環境のHCSCサーバは,Cosminexus SOAP(SOAP通信基盤)およびWebサーバ(HTTPサーバ)上で動作します。そのため,Webサービス(SOAP通信)を使用する場合は,Cosminexus SOAPやWebサーバの設定が必要です。

サービスリクエスタとHCSCサーバのリクエスト受付との関係は,クライアントとサーバの関係であり,HCSCサーバのサービスアダプタとサービス部品の関係もクライアントとサーバの関係になります。SOAP通信基盤との関係を次の図に示します。

図5-20 SOAP通信基盤との関係

[図データ]

(2) サービス部品呼び出し時のユーザ電文とWSDLの関係

サービス部品呼び出し時のユーザ電文とWSDLの関係は,標準受付の場合とユーザ定義受付の場合とで異なります。

(a) 標準受付の場合

SOAP通信時のユーザ電文とWSDLの関係(標準受付)を次の図に示します。

図5-21 SOAP通信時のユーザ電文とWSDLの関係(標準受付)

[図データ]

  1. サービスアダプタを定義するときは,サービス部品側の電文フォーマットとしてサービス部品のWSDLを定義します(サービス部品のWSDLには,要求電文,応答電文およびフォルト電文の形式が定義されています)。WSDLを作成するには,SOAP通信基盤が提供するJava2WSDLコマンドを使用します。
  2. サービスリクエスタから標準受付を呼び出してサービス部品を呼び出すときは,HCSCサーバが提供するWSDLを使用します。HCSCサーバが提供するWSDLを基にWSDL2Javaコマンドを使用してスタブを作成できます。
  3. サービスリクエスタから標準受付を呼び出すときは,サービス部品側の電文フォーマットに合わせた要求電文を事前に作成します。そして,HCSCサーバが提供するWSDLに定義されている標準受付のパラメタ(ユーザ電文のパラメタ)に設定して実行します。
  4. サービスリクエスタからビジネスプロセスを呼び出すときは,要求電文はビジネスプロセスの受付アクティビティに定義した電文フォーマットになります。サービスリクエスタ内でビジネスプロセスの受付アクティビティで定義されている要求電文の電文フォーマットに合わせた電文を作成し,作成した電文を標準受付のパラメタ(ユーザ電文のパラメタ)に設定して実行します。
  5. サービスリクエスタへの応答は,サービスアダプタで定義した応答電文の電文フォーマットを使用します。
(b) ユーザ定義受付の場合

SOAP通信時のユーザ電文とWSDLの関係(ユーザ定義受付)を次の図に示します。

図5-22 SOAP通信時のユーザ電文とWSDLの関係(ユーザ定義受付)

[図データ]

  1. ユーザ定義受付の場合,サービスリクエスタで指定する要求電文は,ビジネスプロセスの受付アクティビティに定義した任意の電文フォーマットの形式で要求します(受付アクティビティに定義した電文フォーマットに合わせたWSDLを作成し,ユーザ定義受付に定義します)。
  2. スタブは,ユーザが定義したWSDLを基に,SOAP通信基盤が提供するWSDL2Javaコマンドを使用して作成できます。標準受付の場合と異なり,サービスリクエスタ側のプログラムで要求電文のXMLを作成する必要はありません。サービスリクエスタではスタブに要求を出すときに,それぞれのパラメタに値をセットして実行します(スタブの中でSOAPメッセージを作成します)。
  3. サービスリクエスタへの応答は,ビジネスプロセスの応答アクティビティで定義した応答電文の電文フォーマットで応答します(応答アクティビティに定義した電文フォーマットに合わせたWSDLを作成し,ユーザ定義受付に定義します)。

(3) Webサービス(SOAP通信)の場合のトランザクション

Webサービス(SOAP通信)の場合,HCSCサーバ内で管理しているトランザクションは,サービス側には引き継がれません。Webサービス(SOAP通信)の場合のトランザクションを次の図に示します。

図5-23 Webサービス(SOAP通信)の場合のトランザクション

[図データ]