MarcomProcessOrders

このワークフローとMarcomProcessJobTicketワークフローは、SOAP Web サービスを使用して MarcomCentral Web サイトとデータを交換する方法をデモします。このデモには、SOAP Web サービスの入力装置と SOAP Web サービスの通知が含まれます。

この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ステップへ送信した場合にのみ、ジョブのログに記録されます。

CreateJobsFromXMLステップは、//JobTicketXPath表現を使用して、XMLジョブチケット情報を解析します。このステップは、2個のジョブチケットを検出し、2個の子ジョブを作成します。

このステップは、MarcomProcessJobTicketワークフローに、これら2個の子ジョブを送信します。

元の注文ジョブは、WaitForRelatedJobsステップに送信されます。

注文の子ジョブがすべて、MarcomProcessJobTicketワークフローの WaitForRelatedJobsステップに到達したら、RICOH ProcessDirector はこの注文ジョブを RetainCompletedJobsステップに送信します。注文ジョブの状態が、 保存に変わります。

このイベントが発生すると、MarcomCloseoutOrderWeb サービスの通知は、MarcomCentral Web サービスへの呼び出しをシミュレートします。この Web サービスは、サンプルストアの XML 注文のステータスを変更します。

通知がシミュレーションを実行する代わりに、Web サービスを呼び出した場合、この変更はサンプルストアで行われます。注文マネージャー品目別に表示ダイアログでは、注文の各品目にある 注文のステータス列の値が、 処理中から 出荷済みに変わります。

フェーズおよびステップ

この図は、サンプルワークフローの各フェーズにおけるステップを示しています。