Workflow Sample

Workflow Sample
Workflow Sample

Contact

メッセージ開始イベント・メッセージ受信中間イベント


メッセージ開始イベント・メッセージ受信中間イベントでは、HTTPリクエストにより、メッセージを受け取ることができます。

 Questetra BPM Suiteの外部から受け取ったメッセージをもとにプロセスを開始する機能を備えた開始イベントを、メッセージ開始イベントと呼びます。
 メッセージ開始イベントでは、メッセージの受信により、プロセスの起動・プロセスデータの入力が可能となります。
 プロセスの実行途中で外部から受け取ったメッセージをもとにプロセスデータを入力する機能を備えたイベントを、メッセージ受信中間イベントと呼びます。
 メッセージ受信中間イベントでは、メッセージの受信により、プロセスデータの入力が可能となります。 



各イベントのURLおよびパラメータ(必須・任意)の仕様は、以下の通りです。

※ メッセージ開始イベント・メッセージ受信中間イベントを実装したプロセスモデルにおいてイベントの[ノード番号]を確認するには、稼働中バージョンの詳細画面をご覧ください。([プロセスモデル設定] > プロセスモデルの[詳細] > 稼働中バージョンの[バージョン詳細])

  • プロセスデータに関するパラメータは、原則として自由に設定できます。
    • 受信を受け付けるプロセスデータ項目は、[読み書き設定]にて、各イベントの項目で「読み書き」を設定して下さい。
    • 必須入力と指定したプロセスデータ項目の場合、そのパラメータは必ず設定するようにしてください。
  • プロセスデータに関するパラメータ以外については、固定のパラメータ名が設定されています。下記、「URLとパラメータ」を参照下さい。

URLとパラメータ : メッセージ開始イベント

  • SaaS Edition:
    • https://s.questetra.net/<顧客番号>/System/Event/MessageStart/start
  • Download Edition:
    • http://<ホスト名(IPアドレス)>[:<ポート番号>]/userweb/System/Event/MessageStart/start
  • URLの例:
    • http://localhost:8080/userweb/System/Event/MessageStart/start?processModelInfoId=45&nodeNumber=0&key=abcde1234
    • https://s.questetra.net/00000000/System/Event/MessageStart/start?processModelInfoId=45&nodeNumber=0&key=abcde1234
パラメータ名 説明
 processModelInfoId  プロセスモデルのID
 nodeNumber  メッセージ開始イベントのノード番号
 key
 SaaS Edition: 必須
 Download Edition: qbpms.api.keyRequied に true が設定されている場合は必須。設定されていない場合は不要。
 ※ セキュリティキーの設定は、設定ファイルにて行います。 

※ メッセージ開始イベントにブラウザからアクセスするためのサンプルhtmlフォームを公開しています。サンプルを参考に、動作確認などでご活用下さい。
(プロセスモデルの定義で一通りのデータタイプを準備し、かつkey未設定の場合のサンプルです。htmlフォームを使う場合は、ページ末尾の注意事項をご確認ください。)

URLとパラメータ : メッセージ受信中間イベント

  • SaaS Edition:
    • https://s.questetra.net/<顧客番号>/System/Event/IntermediateMessage/receive
  • Download Edition:
    • http://<ホスト名(IPアドレス)>:[<ポート番号>]/userweb/System/Event/IntermediateMessage/receive
  • URLの例:
    • http://localhost:8080/userweb/System/Event/IntermediateMessage/receive?processInstanceId=1234&nodeNumber=4&key=abcde1234
    • https://s.questetra.net/00000000/System/Event/IntermediateMessage/receive?processInstanceId=1234&nodeNumber=4&key=abcde1234
パラメータ名 説明
 processInstanceId  プロセスID
 nodeNumber  メッセージ受信中間イベントのノード番号
 key
 ※ メッセージ開始イベントと同じ

※ メッセージ受信中間イベントにブラウザからアクセスするためのサンプルhtmlフォームを公開しています。サンプルを参考に、動作確認などでご活用下さい。
(プロセスモデルの定義で一通りのデータタイプを準備し、かつkey未設定の場合のサンプルです。htmlフォームを使う場合は、ページ末尾の注意事項をご確認ください。)

プロセスデータ項目に関するパラメータ : 共通

  • 受け取ったパラメータをプロセスデータの入力値として利用することができます。
  • データタイプごとのパラメータの詳細は、受信パラメータ一覧を参照してください。
  • パラメータ名は、バージョン詳細画面で確認できます。
    • 「data[<プロセスデータ定義番号>].*****」 という形式で表記されています。
    • プロセスデータ定義番号は、プロセスデータ項目設定画面またはバージョン詳細画面で確認できます。
    • ***** の部分は、データタイプごとに異なります。詳細は、受信パラメータ一覧を参照してください。
  • これらのパラメータを利用するためには、対象のメッセージ開始イベント・メッセージ受信中間イベントにおけるプロセスデータ項目の読み書き設定が[読み書き]となっている必要があります。
※June 2010 (version 6.0.0)におけるデータタイプの変更に伴い、パラメータの仕様が一部変更されています。変更前の仕様については、こちらを参照してください。

レスポンス

レスポンスコード 事象 BODY部
200 処理成功 (処理が最後まで進んだ) なし
500 処理失敗 (実行時エラーが発生) 失敗の詳細をXML形式で返す

<message-start-event-errors>
  <error>
    <key>...</key>
    <detail>...</detail>
  </error>
  ...
</message-start-event-errors>

※メッセージ受信中間イベントの場合は「message-start-event-errors」の部分が「message-receive-event-errors」となります。

  • key: エラー種別。プロセスデータバリデーションエラーの場合はパラメータ名。
  • detail: エラー原因の特定に利用される詳細情報。プロセスデータバリデーションエラーの場合はフォームでのエラー文言と同じ。その他エラーではエラーの原因となった入力値がそのまま表示されることもあります。

※ Internet Explorerでメッセージ開始イベント・メッセージ受信中間イベントにアクセスした場合は、レスポンスコードに応じた画面(200なら真っ白、500ならサーバエラー)が表示されます。Firefoxの場合は、エラー発生時にxmlが表示されますので、テスト・動作検証時にはFirefoxの利用をおすすめします。

エラーケースと通知

エラーの種類 通知先
processModelInfoId、processInstanceId、nodeNumberのパラメータが存在しない、数値でない システム管理者
指定されたprocessModelInfoIdのプロセスモデルが存在しない システム管理者
指定されたnodeNumberのノードが存在しない プロセス管理者
アクティブなプロセスモデルが存在しない プロセス管理者
指定されたノードがメッセージ開始イベントノードではない プロセス管理者
パラメータ名エラー プロセス管理者
プロセス数の上限に達している プロセス管理者
データバリデーションエラー(整数型に文字が入っているなど) プロセス管理者
必須のデータが入力されていない プロセス管理者

※ 通知はメッセージ開始イベントの場合のみされます。

※注意事項

パラメータの入力

  • メッセージ開始イベント・メッセージ受信中間イベントを利用する際、以下のパラメータは必ず設定する必要があります。
    • 「URLとパラメータ」に記載のパラメータ
    • プロセスデータ項目に関するパラメータのうち、[必須]項目として設定されているもの

HTTP通信の方法

  • HTTP通信では、GET・POSTのどちらのメソッドも利用することができます。
  • [ファイル]型データがある場合は、POSTのみ有効です。
  • パラメータに長い文字列を渡したい場合などは、POSTメソッドをご利用ください。

htmlフォームを使ってWebブラウザからの入力で運用する場合

  • 本機能は、Webブラウザからのアクセスではなく、Webサービス的な利用を想定して設計されており、入力エラー時の応答が十分ではありません。
  • エラーへの対応として、以下の点を考慮してください。
    • エラーが発生しないよう、あらかじめ入力制限する仕組みを持たせてください。
      • 例 : htmlフォームにJavascriptなどで入力制限する仕組みを持たせてください。
    • エラー発生時の運用ルールをあらかじめ決めておいてください。
      • 例 : エラー発生時に返されるxmlを表示し、内容を確認した上で入力を変更する運用としてください。
      • Internet Explorer では、エラー時のxmlを表示することができません。Firefoxをご利用ください。
  • keyの内容が漏えいしないよう、社外からアクセスできる場所にhtmlフォームを置かないようにしてください。
  • Download Editionにて利用される場合には、keyを設定するかどうかに関わらず、社外からQuestetra BPM Suiteへのアクセスを制限することを推奨します。
Č
ċ
ď
qbpms_message_catching_intermediate_sample.html
(1k)
Tsuyoshi Kusaka,
Sep 27, 2010 5:08 AM
ċ
ď
qbpms_message_start_sample.html
(1k)
Tsuyoshi Kusaka,
Sep 27, 2010 5:07 AM