サンプルワークフローを実行してMarcomCentralから取得した注文を処理する
サンプルの入力装置、CallSOAPServiceのステップ、通知はシミュレーションを実行します。指定されたMarcomCentral Webサービスを呼び出すことはありません。このシミュレーションでサンプルを実行しますが、MarcomCentral資格情報の取得も、サンプルストアに似たサンプルMarcomCentralストアのセットアップも必要ありません。このサンプルでは、SOAP 1.1要求ペイロードを使用して、シミュレートされたMarcomCentral注文と2個のジョブチケットを取得します。静的な資格情報とパスワードフィールドの値は、RICOH ProcessDirectorにシミュレーションの実行を命じます。
実行後のサンプルはコピーできます。コピーしたサンプルの値を調整して、MarcomCentral Webサイトにある自分のストアとデータを交換できます。
- 注意:
- サンプルオブジェクトとファイルは、MarcomCentral Connect機能とともにインストールされます。
このシミュレーションには、MarcomCentralからインポートされたWeb Services Description Language(WSDL) SOAP要求オブジェクトが含まれます。サンプルの入力装置、CallSOAPServiceのステップ、通知それぞれで、SOAP要求が指定されます。
このシミュレーションで使用されるオブジェクトとファイルは次のとおりです。
- ワークフロー:
- MarcomProcessOrders
- MarcomProcessJobTicket
- 注文プロパティーのマッピング:MarconOrderSample
- 入力装置:MarcomReceiveOrders
この入力装置は、
https://services.printable.com/Trans/1.0/Order.asmx
でWebサービスの呼び出しをシミュレートして、MarcomCentral WebサイトからXML注文を取得します。SOAP要求はMarcom-GetOrdersByDateです。
- 通知:MarcomCloseoutOrder
この通知は、
https://services.printable.com/Trans/1.0/Closeout.asmx
でWebサービスの呼び出しをシミュレートして、MarcomCentral Webサイトに注文完了情報を送信します。SOAP要求はMarcomSample-CloseoutByOrderです。
- XML注文
このシミュレーションでは、Webサービスから30秒ごとに注文が1件取得されます。
サンプルワークフローの実行後に、サンプル注文の内容を確認できます。移動先:
/aiw/aiw1/spool/default/job_number
job_numberは実際のジョブ番号で置き換えてください(例: 10000001)。
job_number.print.xmlファイルの内容を表示します(例: 10000001.print.xml)。
- XMLジョブチケット
このシミュレーションでは、注文ごとに2つのジョブチケットが取得されます。
サンプルワークフローの実行後に、これら2つのサンプルジョブチケットの内容を確認できます。移動先:
/aiw/aiw1/spool/default/child_job_number
child_job_numberは実際の子ジョブ番号で置き換えてください(例: 10000001.1、10000001.2など)。
child_job_number.print.xmlファイルの内容を表示します(例: 10000001.1.print.xml、10000001.2.print.xmlなど)。
- ファイルの印刷:
Savings.pdf
このファイルは、ローカルで
http://localhost:15080/restapi/
からダウンロードされます。 - XSLTスタイルシートァイル:
downloadOverrides.xslt
ファイルは
Marcom
ディレクトリーにあります。/aiw/aiw1/testfiles/Marcom
- CallSOAPServiceのステップ:
- CallSOAPServiceステップは、
https://services.printable.com/Trans/1.0/JobTicket.asmx
でWebサービスの呼び出しをシミュレートして、MarcomCentral Webサイトからジョブチケットを取得します。SOAP要求はMarcom-GetJobTicketByLineItemです。
- CallSOAPServiceステップは、
サンプルワークフローを実行するには、次のようにします。
- メインタブをクリックします。
- [プリンター]ポートレットで、サンプルプリンターを右クリックして 使用可能を選択します。
- [入力装置]ポートレットで、MarcomReceiveOrdersSOAP Webサービスの入力装置を右クリックし、 使用可能にして接続を選択します。
Marcom Sample Orderという名前のジョブが、[ジョブ]テーブルに表示されます。
- MarcomReceiveOrders入力装置を右クリックして、 使用不可にして切断を選択します。
- 注意:
- サンプルの入力装置は、30秒ごとに注文をポーリングして、XMLジョブを取得します。入力装置を使用不可にして切断していない場合は、[ジョブ]テーブルに30秒ごとに新しいジョブが1つ表示されます。
入力装置の要求ペイロードには、次のような RICOH ProcessDirectorシンボルが含まれます。
- ${WebService.StaticCredential}
静的な資格情報を指定する
- ${WebService.LastSuccessRequestTime}
入力装置が Web サービスへの応答要求に成功した最後の日時を指定します。
- ${WebService.CurrentRequestTime}
現在の要求の日付と時刻を指定します。
MarcomReceiveOrders入力装置はXMLジョブを取得するたびに、このジョブを MarcomProcessOrdersワークフローに送信します。
ジョブは、これらのステップや、MarcomProcessOrdersワークフローにあるその他のステップを通過します。
- SetJobPropsFromTextFileステップは、 ジョブ名プロパティーにMarcom Sample Orderを設定します。
- CreateOrdersFromFileステップでは、 MarcomOrderSampleプロパティーマッピングオブジェクトを使用して注文とジョブを識別し、XML注文ファイル内のいくつかのXMLエレメントの値を注文プロパティーとジョブプロパティーにマッピングします。
-
設定されているプロパティーがテーブルに一覧表示されます。
XMLエレメント データベース名 ユーザーインターフェース名 /Order/OrderNumber
Order.Name 注文名 /Order/ID
Order.Reference 外部注文参照 /Order/OrderDetails/OrderDetail/User/Name
Order.Customer カスタマー名 /Order/OrderDetails/OrderDetail/SKUDescription
Order.Description 説明 /Order/OrderDetails/OrderDetail/Quantity
Job.Copies 要求されたジョブコピー /Order/OrderDetails/OrderDetail/OrderNumber
Job.Marcom.OrderNumber MarcomCentral 注文番号 /Order/ID
Job.Marcom.OrderId MarcomCentral 注文 ID /Order/OrderDetails/OrderDetail/ID
Job.Marcom.JobTicketId MarcomCentral ジョブチケット /Order/OrderDetails/OrderDetail/ProductType
Job.Marcom.ProductType MarcomCentral 製品タイプ /Order/OrderDetails/OrderDetail/ProductName
Job.Name ジョブ名 このステップでは、2つのジョブが含まれる1つの注文を識別します。Jensen Bank Baseball Capと Brochureという2つのジョブを作成し、それらのジョブを MarcomProcessJobTicketワークフローに送信します。
元の注文ジョブは、WaitForRelatedJobsステップに送信されます。
ジョブはMarcomProcessJobTicketワークフローで処理を開始します。ジョブが SetJobPropsFromTextFileステップを離れると、 [1] ウェアハウスコネクターの規則が MarcomCentral製品タイププロパティーの値をチェックします。 Versioned、 Variableおよび JobDirectは、印刷物の製品タイプです。
- 品目の製品タイプが印刷物ではない場合、ワークフローはウェアハウス分岐を通じて、ジョブを送信します。
- 品目の製品タイプが印刷物の場合、ワークフローは印刷可能分岐を通じて、ジョブを送信します。
印刷できないジョブは、ワークフローのウェアハウス分岐で、 ManualStepWithAutoStartステップを通過します。ウェアハウススタッフがジョブの出荷準備が整ったことを示すまで、ジョブはそのステップで待機します。
印刷可能ジョブは、ワークフローの印刷可能分岐で、次のステップとコネクターを通過します。
- ジョブが2つめのContinueToNextStepステップに到達すると、 [1]ファイル準備完了コネクターの規則は、 Custom 3(ダウンロードファイルのURL)プロパティーに値が設定されているかどうかを確認します。
- 設定されていれば、印刷ファイルをダウンロードできます。ワークフローは、このジョブを直接、DownloadFileステップに送信します。
- 設定されていない場合、[2]ファイルの確認コネクターの規則は、 カスタム整数1ジョブプロパティーの値が10未満かどうかを確認します。2つ目の ContinueToNextStepステップに初めてジョブが到達したときの カスタム整数1プロパティーの値は0です。
- この値が0から9までの場合、ワークフローはこのジョブを Waitステップに送り、そこで30秒間待機させます。その後、ワークフローはこのジョブを CallSOAPServiceステップに送信します。
CallSOAPServiceステップは、印刷物のジョブチケットを取得するMarcomCentral Webサービスを呼び出します。このステップは、 要求ペイロードプロパティーの値の一部として、2つのRICOH ProcessDirectorシンボルを指定します。
- ${Job.WebService.Password}
静的な資格情報を指定します。
- ${Job.Marcom.JobTicketId}
ジョブチケットIDを指定します。
ApplyXSLTransform2ステップは、
downloadOverrides.xslt
XSLTスタイルシートを使用して、1個のXMLエレメントを1個の RICOH ProcessDirectorジョブプロパティーに変換します。XMLエレメント ジョブプロパティーのデータベース名 ジョブプロパティーのユーザーインターフェース名 JobTicket/FinalOutputFileURL/URL Job.Info.Attr3 Custom 3 このステップは、値を指定変更ファイルに入力して変更し、ジョブのスプールディレクトリーにある指定変更ファイルを、変更した新しい指定変更ファイルで上書きします。
サンプル指定変更ファイルの内容を次の例に示します。
Job.Info.Attr3=http://localhost:15080/restapi/Savings.pdf
AssignJobValuesステップは、 カスタム整数1プロパティーの値を1増分します。その後、このワークフローは、ジョブを2つめの ContinueToNextStepステップに送り返します。このステップは、 Waitステップを経由して、 CallSOAPServiceステップにジョブを送信します。 CallSOAPServiceステップは、印刷物のジョブチケットを取得するMarcomCentral Webサービスの呼び出しを繰り返します。 Custom 3プロパティーにまだURLの値が入っていない場合、ワークフローは CallSOAPServiceステップを経由して、最大9回、このジョブを送信します。
- ${Job.WebService.Password}
- 値が10の場合、ジョブは CallSOAPServiceステップに既に10回送信されています。5分経っても、 Custom 3プロパティーには、ダウンロードするファイルの値が入っていません。ジョブは、 [2]ファイルの確認コネクターの規則を満たしていません。ワークフローは [3]タイムアウトコネクターを経由して、このジョブを FailWithMesssageステップに送信し、ジョブのログにエラーメッセージを書き込みます。メッセージ内容:制限時間内にダウンロードするファイルが見つかりませんでした。
- この値が0から9までの場合、ワークフローはこのジョブを Waitステップに送り、そこで30秒間待機させます。その後、ワークフローはこのジョブを CallSOAPServiceステップに送信します。
- DownloadFileステップは、 ダウンロードファイルのURLプロパティーの値に${Job.Info.Attr3}シンボルを設定して、
http://localhost:15080/restapi/
からSavings.pdf
印刷ファイルをダウンロードします。 - OptimizePDF、 CountPages、 CreatePageRangesおよび PrintJobsステップは、 Sampleプリンターでジョブを処理して印刷します。
WaitForRelatedJobsステップは、すべての子ジョブがこのステップに到達するまで、親ジョブと子ジョブを保留します。
- [ジョブ]テーブルで、Jensen Bank Baseball Capジョブを右クリックし、 手動完了を選択します。
- 次のステップに進むを選択し、 OKをクリックします。
ジョブはWaitForRelatedJobsステップに進みます。
両方のジョブがWaitForRelatedJobsステップに到達すると、ワークフローは3つのジョブすべて(元の注文ジョブ、印刷不可能ジョブ、印刷可能ジョブ)を RetainCompletedJobsステップに送信します。各ジョブの状態が、 保存に変わります。注文の状態が、 完了に変わります。
MarcomCloseoutOrderWebサービスの通知は、
https://services.printable.com/Trans/1.0/Closeout.asmx
にあるWebサービスを呼び出します。要求ペイロードには、以下の RICOH ProcessDirectorシンボルが含まれます。
- ${WSNotification.WebService.Credential}
静的な資格情報を指定します。
- ${Job.Marcom.OrderId}
注文IDを指定します。
通知がシミュレーションを実行する代わりに、Webサービスを呼び出した場合、この変更は、MarcomCentral Webサイトにあるサンプルストアで行われます。注文マネージャーの 品目別に表示ダイアログでは、注文番号WS113の各品目にある 注文のステータス列の値が、 処理中から 出荷済みに変わります。
- ${WSNotification.WebService.Credential}
- [ジョブ]テーブルで、Brochureジョブを右クリックし、 表示を選択します。ビューアーに、注文の一部として印刷されたPDFファイルが表示されます。
サンプルを実行したので、サンプルをコピーできます。コピーしたサンプルの値を調整して、MarcomCentral Webサイトにある自分のストアとデータを交換します。関連トピックを参照してください。