MarcomProcessOrders
このMarcomReceiveOrdersSOAP Web サービスの入力装置は、MarcomCentral Web サービスへの呼び出しをシミュレートします。この入力装置は、MarcomCentral Web サイトのサンプルストアから XML 注文を取得し、XML ジョブを MarcomProcessOrdersワークフローに送信します。
SetJobPropsFromTextFileステップは、 ジョブ名プロパティーにMarcom Sample Orderを設定します。
DetectInputDataStreamステップは、このデータストリームを XML に設定します。
ApplyXSLTransformステップは、orderToOverrides.xslt
XSLTスタイルシートを使用して、8個のXMLエレメントを指定変更ファイル内の5個の RICOH ProcessDirectorジョブプロパティーに変換します。
次の表に、この注文のジョブプロパティーをまとめます。これらは、XSLTスタイルシートで指定され、指定変更ファイルに表示されます。
XMLエレメント | ジョブプロパティーのデータベース名 | ジョブプロパティーのユーザーインターフェース名 |
---|---|---|
OrderNumber | Job.Marcom.OrderNumber | MarcomCentral 注文番号 |
ID | Job.Marcom.OrderId | MarcomCentral 注文 ID |
ShippingAddress/Address1ShippingAddress/CityShippingAddress/StateShippingAddress/Zip | Job.Info.Attr1 | Custom 1 |
ユーザー/メール | Job.CustomerName | カスタマー名 |
count(OrderDetails/OrderDetail) | Job.Info.Attr2 | Custom 2 |
CallSOAPServiceステップは、MarcomCentral Web サービスの呼び出しをシミュレートし、この XML 注文のために 2 つのジョブチケットを取得します。パスワードフィールドの値は、Web サービスを呼び出すのではなくシミュレーションを実行するよう RICOH ProcessDirector に命じます。
ApplyXSLTransform2ステップは、jobTicketsReceived.xslt
XSLT スタイルシートを使用して、取得済みジョブチケットの数を数え、 Custom 3プロパティーの値を計算します。このステップは、値を指定変更ファイルに入力して変更し、ジョブのスプールディレクトリーにある指定変更ファイルを、変更した新しい指定変更ファイルで上書きします。
CheckTicketCountステップは、RICOH ProcessDirector Web サービスを呼び出します。このWebサービスは、注文のジョブチケットがすべて取得されたかどうかを確認します。このステップは、 Custom 2の値(ジョブチケットの総数)と Custom 3の値(取得済みジョブチケット)を比較します。これらの値が一致した場合は、 Custom 4の値(比較の結果)に EQUALを設定します。このステップは、値を指定変更ファイルに入力して変更し、スプールディレクトリーにある指定変更ファイルを、変更した新しい指定変更ファイルで上書きします。
[1]すべてのチケットを発見コネクターの規則は、 Custom 4ジョブプロパティー(比較結果)の値が EQUALになっているかどうかを確認します。
- [EQUAL]の場合は、取得済みジョブチケットの数が、予定されたジョブチケットの総数と等しくなっています。ワークフローは、このジョブを直接、CreateJobsFromXMLステップに送信します。
- [EQUAL]でない場合は、取得済みジョブチケットの数が、予定されたジョブチケットの総数よりも少なくなっています。[2]チケットの確認コネクターの規則は、 Custom count 1ジョブプロパティーの値が10未満かどうかを確認します。 CheckTicketCountステップに初めてジョブが到達したときの Custom count 1プロパティーの値は0です。
- この値が0から9までの場合、ワークフローはこのジョブを Waitステップに送り、そこで1分間待機させます。その後、ワークフローはこのジョブを RunExternalProgramステップに送信します。
RunExternalProgramステップは、 Custom count 1プロパティーの値を1増やすJavaユーティリティーを実行します。その後、ワークフローはこのジョブを CallSOAPServiceステップに送り返します。このステップは、注文のジョブチケットを返すMarcomCentral Webサービスの呼び出しを繰り返します。取得済みジョブチケットの数が予定よりも少ない場合、ワークフローは CallSOAPServiceステップを通じて、このジョブを最大9回送信できます。
- 値が10の場合、ジョブは CallSOAPServiceステップに既に10回送信されています。10分後に、取得済みジョブチケットの数が、予定数と等しくなっていません。このジョブは、 [2]チケットの確認コネクターの規則を満たしません。ワークフローは [3]タイムアウトコネクターを経由して、このジョブを FailWithMesssageステップに送信し、ジョブのログにエラーメッセージを書き込みます。メッセージ内容:一部のジョブが、制限時間内に見つかりませんでした。
- 注意:
- このメッセージはジョブプロパティーの1つなので、このワークフローを通過するすべてのジョブの[ジョブプロパティー]ノートブックの[情報]タブに表示されます。このメッセージは、ワークフローがこのジョブを、[3]タイムアウトコネクター経由で FailWithMesssageステップへ送信した場合にのみ、ジョブのログに記録されます。
- この値が0から9までの場合、ワークフローはこのジョブを Waitステップに送り、そこで1分間待機させます。その後、ワークフローはこのジョブを RunExternalProgramステップに送信します。
CreateJobsFromXMLステップは、//JobTicketXPath表現を使用して、XMLジョブチケット情報を解析します。このステップは、2個のジョブチケットを検出し、2個の子ジョブを作成します。
このステップは、MarcomProcessJobTicketワークフローに、これら2個の子ジョブを送信します。
元の注文ジョブは、WaitForRelatedJobsステップに送信されます。
注文の子ジョブがすべて、MarcomProcessJobTicketワークフローの WaitForRelatedJobsステップに到達したら、RICOH ProcessDirector はこの注文ジョブを RetainCompletedJobsステップに送信します。注文ジョブの状態が、 保存に変わります。
このイベントが発生すると、MarcomCloseoutOrderWeb サービスの通知は、MarcomCentral Web サービスへの呼び出しをシミュレートします。この Web サービスは、サンプルストアの XML 注文のステータスを変更します。
通知がシミュレーションを実行する代わりに、Web サービスを呼び出した場合、この変更はサンプルストアで行われます。注文マネージャーの 品目別に表示ダイアログでは、注文の各品目にある 注文のステータス列の値が、 処理中から 出荷済みに変わります。