Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編


5.6.12 検証アクティビティ

ビジネスプロセス内で送受信される電文の妥当性を検証するためのアクティビティです。受付アクティビティやサービス呼出アクティビティによって外部と送受信する電文が,対応する割当変数のスキーマと一致するかどうかを検証するときに使われます。

検証アクティビティは,[検証アクティビティ]ダイアログで詳細を定義します。

〈この項の構成〉

(1) 定義手順

定義の手順を次に示します。

  1. 検証アクティビティをキャンバスに配置します。

    アクティビティを配置する方法については,「5.4.1 アクティビティを配置する」を参照してください。

  2. どちらかの方法で[検証アクティビティ]ダイアログを表示させます。

    • キャンバスの検証アクティビティをダブルクリックする

    • キャンバスの検証アクティビティを選択して右クリックし,[設定]を選択する

    [検証アクティビティ]ダイアログが表示されます。

  3. [検証アクティビティ]ダイアログに必要な情報を入力します。

    [検証アクティビティ]ダイアログの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「1.4.18 検証アクティビティダイアログ」を参照してください。

    [変数]に設定する変数の内容を編集する場合,[編集]ボタンをクリックします。表示される[変数・相関セット一覧]ダイアログで,変数の内容を編集できます。[変数]には,メッセージ型(XML)の変数を設定できます。メッセージ型(non-XMLまたはany)の変数は設定できません。[変数・相関セット一覧]ダイアログの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「1.4.1 変数・相関セット一覧ダイアログ」を参照してください。

  4. [OK]ボタンをクリックします。

(2) 定義時の注意事項

(3) 処理中に例外が発生した場合の処理

例外が発生した場合の処理は,HCSCサーバランタイム定義ファイルのsyserr-to-fault-convert-all-activityプロパティの設定によって次のように異なります。

syserr-to-fault-convert-all-activityプロパティの指定がONのとき

メッセージを出力したあと,フォルト電文に設定する項目を含むメッセージを出力し,フォルトを送出します。

送出するフォルトについては,マニュアル「サービスプラットフォーム 解説」の「4.7.1 システム例外をフォルトに変換する汎用フォルトの概要」を参照してください。

syserr-to-fault-convert-all-activityプロパティの指定がOFFのとき

システム例外をthrowします。

syserr-to-fault-convert-all-activityプロパティの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「6.5.6 HCSCサーバランタイム定義ファイル」を参照してください。

(4) 検証でエラーが発生した場合の処理

検証結果が不正だった場合,次の種類のフォルトを送出できます。

送出するフォルトの選択方法については,マニュアル「サービスプラットフォーム 解説」の「4.7.1 システム例外をフォルトに変換する汎用フォルトの概要」を参照してください。

参考

検証アクティビティに変数が複数設定されていた場合,最初に検証でエラーになった変数の情報でフォルト電文を作成します。

フォルト処理に必要な設定を次に説明します。

(a) フォルト処理を実行する場合の定義

検証アクティビティでフォルトが発生した場合,検証アクティビティが所属するスコープアクティビティに設定されているフォルト処理の割り当てに従って処理が分岐されます。フォルト処理の割り当てが設定されていない場合は,フォルト例外が発生します。

フォルト処理の割り当て

検証アクティビティから直接フォルト処理を割り当てることはできません。検証アクティビティが所属するスコープアクティビティを使用して処理の割り当てをしてください。

フォルト処理の分岐

検証結果に対応した処理の分岐をさせたい場合は,分岐アクティビティを使用します。

フォルト電文に割り当てる変数から,変数の部分指定でフォルト情報を取得し,取得した情報によって処理が分岐するように定義してください。

任意のフォルトの発生

任意のフォルトを発生させたい場合は,フォルト送出アクティビティを使用します。

フォルトが発生したときに,フォルト送出アクティビティで任意の変数値のフォルトを発生させるように定義してください。

(b) フォルト処理の定義で使用するフォルト電文を定義するスキーマファイル

検証アクティビティ固有のフォルト電文を定義するスキーマファイルの格納先を次に示します。

<サービスプラットフォームのインストールディレクトリ>\CSC\system\msg\cscvalidatefault.xsd

検証アクティビティが所属するスコープアクティビティのフォルト処理の割り当てに使用する,検証アクティビティ固有のフォルト電文を定義するスキーマファイルを次に示します。汎用フォルトのスキーマファイルについては,マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「7.12.1 汎用フォルト電文を定義するスキーマファイル」を参照してください。

<?xml version="1.0" encoding="UTF-8"?>
<!--
 DO NOT EDIT THIS FILE.
 -->
<xs:schema
    elementFormDefault="qualified"
    targetNamespace="http://www.msg.csc.soft.Hitachi.co.jp/cscBpValidate"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="fault">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="exception-name"    type="xs:string"/>
        <xs:element name="exception-message" type="xs:string"/>
        <xs:element name="scope-name"        type="xs:string"/>
        <xs:element name="activity-name"     type="xs:string"/>
        <xs:element name="variable-name"     type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

設定できる要素を次に示します。

exception-name

例外名を設定します。例外名には,Class.getName()の値を設定してください。

exception-message

例外情報を設定します。例外情報には,Exception.toString()の値を設してください。

scope-name

検証アクティビティが所属するスコープ名を設定します。

activity-name

検証アクティビティの名称を設定します。

variable-name

検証をする変数名を設定します。