サンプルワークフローを実行して REST Web サービスから取得した注文を処理する

RestfulWebServiceWFワークフローでは、書籍注文 Web サイトをシミュレートした、REST Web サービスから取得した注文の処理方法を示しています。REST Web サービスの入力装置、 CallRESTServiceステップ、および REST Web サービスの通知は、Web サービスを使用してデータを交換します。ワークフローには、次のステップの例もあります。 ConvertJSONToXMLApplyXSLTransformCreateJobsFromXMLDownloadFile

このワークフローは、次のサンプルオブジェクトとファイルを使用します。

  • ワークフロー: RestfulWebServiceWF
  • 入力装置: RestfulWebServiceSample

    入力装置は、GET 呼び出しを作成し、http://localhost:15080/restapi/1.0/sample/order のサンプル REST Web サービスから JSON 注文を取得します。

  • 通知: RestfulWebServiceSampleNotify

    通知は、http://localhost:15080/restapi/1.0/sample/completeJobTicket のサンプル Web サービスへの POST 呼び出しを作成します。

  • JSON 注文

    サンプル Web サービスから、30 秒ごとに 1 件の注文が取得されます。

    サンプルの注文の内容:

    {"Order": {"orderId": "ORDnumber", "customername": "Ricoh"}}

    各注文には、ランダムに生成された次のような number が含まれます。例: 1238875463

  • 印刷ファイル: Brochure.pdf および Cover.pdf

    これらのファイルは、http://localhost:15080/restapi/ からローカルでダウンロードされます。

  • XSLTスタイルシートファイル:

    • orderToOverrides.xslt

    • jobticketToOverrides.xslt

    これらのファイルは、次の restsample ディレクトリーにあります。

    • /aiw/aiw1/testfiles/restsample (Linux)
    • C:\aiw\aiw1\testfiles\restsample (Windows)

  • 通知 PDF ファイル

    完了した注文ごとに、通知 PDF ファイルが生成されます。各ファイルには、ORDER-ORDnumber という名前が付けられます。例: ORDER-ORD1238875463

  • CallRESTServiceステップは、GET 呼び出しを作成して、http://localhost:15080/restapi/1.0/sample/jobTicket のサンプル REST Web サービスから JSON ジョブチケットを取得します。

    注意:
  • これらのサンプル Web サービスはローカルで使用できます。これらは、サンプルの入力装置、通知、およびCallRESTServiceステップで作成された特定の要求に対し、応答内でサンプルデータを返します。これらの Web サービスでは、その他の要求はサポートされていません。

  • RestfulWebServiceWFワークフローなどの、サンプルオブジェクトとファイルは、Web Services Enablement 機能とともにインストールされます。

サンプルワークフローを実行するには、次のようにします。

  1. メインタブをクリックします。
  2. [プリンター]ポートレットで、サンプルプリンターを右クリックして 使用可能を選択します。
  3. [入力装置]ポートレットで、RestfulWebServiceSampleREST Web サービスの入力装置を右クリックして 使用可能にして接続を選択します。

    ジョブがジョブテーブルに表示されます。

  4. RestfulWebServiceSample入力装置を右クリックして、 使用不可を選択します。
  5. もう一度、入力装置を右クリックして、切断を選択します。

    注意: このサンプル入力装置は、30 秒ごとに注文をポーリングして JSON ジョブを取得します。入力装置を使用不可にして切断していない場合は、[ジョブ]テーブルに30秒ごとに新しいジョブが1つ表示されます。

    RestfulWebServiceSample入力装置が JSON ジョブを取得するたびに、次の処理が実行されます。

    • ジョブがワークフローの分岐を経由して送信されます。

    • SetJobPropsFromTextFileステップは、 カスタマー名プロパティーにRicohSampleを設定し、 Custom 1プロパティーにRicohCustomを設定します。

    • ConvertJSONToXMLステップは、ジョブを XML に変換します。

    • ApplyXSLTransformステップは、orderToOverrides.xslt XSLT スタイルシートを使用して、指定変更ファイル内で 2 つの XML エレメントを 2 つの RICOH ProcessDirector ジョブプロパティーに変換します。

      XMLエレメント ジョブプロパティー
      orderId Job.Info.Attr3
      customername Job.CustomerName

      サンプル指定変更ファイルの内容:

      Job.Info.Attr3=ORD1238875463Job.CustomerName=Ricoh

      このステップでは、ジョブのスプールディレクトリーに指定変更ファイルが配置されます。RICOH ProcessDirectorは、指定変更ファイルの値を使用して、そのジョブのプロパティーの値を設定します。

    • AssignJobValuesステップは、 ジョブ名プロパティーの値をORDER-${Job.Info.Attr3}に設定します。例えば、次のような値になります。ORDER-ORD1238875463

    • CallRESTServiceステップは、書籍注文 Web サイトをシミュレートした、サンプル Web サービスの 1 つに対して GET 呼び出しを作成します。このステップは、 要求パラメータープロパティーの値に注文 ID を指定します。orderId:${Job.Info.Attr3}

      Web サービスは、注文の JSON ジョブチケット情報を RICOH ProcessDirector に返します。

      サンプルジョブチケット情報の内容:

      {"JobTicket": [{ "itemnumber": "1182563839", "copies":"4","media" : "Letter Plain","file" : "http://localhost:15080/restapi/Brochure.pdf","type" : "Brochure","title" : "RPDBestSeller"}, { "itemnumber": "1934194376", "copies":"4","media" : "Letter Preprinted","file" : "http://localhost:15080/restapi/Cover.pdf","type" : "Cover" ,"title" : "RPDBestSeller" }]}

    • ConvertJSONToXMLステップは、JSON ジョブチケット情報を XML に変換します。

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

      サンプル子ジョブの内容:

      <?xml version="1.0" encoding="UTF-8"?><JobTicket><copies>4</copies><file>http://localhost:15080/restapi/Brochure.pdf</file><itemnumber>2112076335</itemnumber><media>Letter Plain</media><type>Brochure</type><title>RPDBestSeller</title></JobTicket><?xml version="1.0" encoding="UTF-8"?><JobTicket><copies>4</copies><file>http://localhost:15080/restapi/Cover.pdf</file><itemnumber>1418780325</itemnumber><media>Letter Preprinted</media><type>Cover</type><title>RPDBestSeller</title></JobTicket>

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

      [2] 子コネクターの規則でジョブ番号の小数点が確認され、ジョブが子ジョブであるかどうかが判断されます。コネクターは、ワークフローの 分岐を経由して子ジョブを送信します。

      元の JSON ジョブは、引き続き分岐を経由して RunHotFolderApplicationステップに送信されます。このステップは、JSON ジョブをホットフォルダーに配置します。

      • /aiw/aiw1/testfiles/restsample/sending (Linux)

      • C:\aiw\aiw1\testfiles\restsample\sending (Windows)

      書籍注文 Web サイトをシミュレートしているサンプル Web サービスの 1 つが、ホットフォルダーをポーリングしてジョブを検出します。この Web サービスは、RestfulWebServiceSampleNotify通知から要求を受信すると、各 JSON ジョブを処理します。詳しくは、 RetainCompletedJobsステップのリスト項目を参照してください。

    • ApplyXSLTransform2ステップは、jobticketToOverrides.xslt XSLT スタイルシートを使用して、各子ジョブの 6 つの XML エレメントを指定変更ファイル内の RICOH ProcessDirector ジョブプロパティーに変換します。

      XMLエレメント ジョブプロパティー
      file Job.Info.Attr2
      itemnumber Job.Info.Attr1
      type Job.Info.Attr4
      title Job.Info.Attr5
      copies Job.Copies
      media Job.Media

      サンプル指定変更ファイルの内容:

      Job.Info.Attr2=http://localhost:15080/restapi/Brochure.pdfJob.Info.Attr1=1182563839Job.Info.Attr4=BrochureJob.Info.Attr5=RPDBestSellerJob.Copies=4Job.Media=Letter Preprinted

    • DownloadFileステップは、 ダウンロードファイルの URLプロパティーの値に ${Job.Info.Attr2} を設定し、Cover.pdf および Brochure.pdf ファイルを http://localhost:15080/restapi/ からダウンロードします。

    • AssignJobValues2ステップは、次の 3 つのジョブプロパティー値を設定します。

      • 要求されたプリンター: サンプル

      • 入力データストリーム: PDF

      • ジョブ名: ${Job.Info.Attr5}-${Job.Info.Attr4}

      Brochure.pdfおよびCover.pdfファイルの子ジョブの名前は、RPDBestSeller-BrochureおよびRPDBestSeller-Coverになります。

    • OptimizePDFCountPagesCreatePageRanges、および PrintJobsステップは、RPDBestSeller-Brochure および RPDBestSeller-Cover 子ジョブを処理して、 サンプルプリンターで印刷します。

    • それぞれの子ジョブがRetainCompletedJobsステップに到達すると、 RestfulWebServiceSampleNotifyWebサービスの通知は、http://localhost:15080/restapi/1.0/sample/completeJobTicketにあるサンプルWebサービスの1つに対してPOST呼び出しを実行します。 要求パラメータープロパティーの値:

      jobTicket:${Job.Info.Attr1}jobId:${Job.ID}

      元の JSON ジョブの子ジョブがすべて保存ジョブ状態になるまで、Web サービスは待機します。次に Web サービスは、注文内の各ジョブチケットのジョブ番号と品目番号を含む PDF ファイルを作成します。例:

      品目番号278955095の10000001.2が処理されました品目番号913895452の10000001.1が処理されました

      Web サービスは、RunHotFolderApplicationステップの取得ホットフォルダーに PDF ファイルを配置します。

      • /aiw/aiw1/testfiles/restsample/retrieval (Linux)

      • C:\aiw\aiw1\testfiles\restsample\retrieval (Windows)

      RunHotFolderApplicationステップは、ホットフォルダーをポーリングして PDF ジョブを検出し、ジョブを次のステップに送信します。

    • AssignJobValuesステップは、 入力データストリームプロパティーの値を PDF に設定して、PDFジョブを RetainCompletedJobsステップに送信します。

  6. ジョブテーブルでORDER-ORDnumberジョブを右クリックして、 表示を選択します。

    ビューアーには PDF ファイルが表示されます。PDF ファイル内の情報で、2 つの子ジョブが処理されたことを確認できます。