Webサービスアクティビティは、Webサービスをワークフローに組み込み、ワークフローが他のシステムとデータをやり取りできるようにします。
たとえば、ワークフロー内でWebサービスを利用して、サードパーティアプリケーションの情報を作成、更新、削除できます。また、Webサービスを使ってCRMや会計などの業務アプリケーションからデータを取得し、DocuWareワークフローで利用できるようにすることも可能です。DocuWareワークフローは、RESTおよびSOAPの両方のWebサービスの統合をサポートします。
注意:先にWebサービスを追加してください
最初に、DocuWare組織にWebサービスを追加してください。ワークフローにWebサービスを組み込む前に、DocuWare 構成 > WebサービスでこのWebサービスへの接続を作成する必要があります。
構成の概要は次のとおりです。
ワークフローにWebサービスを設定するには、DocuWare 構成 > コラボレーション > Workflow Designerに移動します。
新規ワークフローまたは編集ボタンをクリックして、新しいワークフローまたは既存のワークフローをキャンバスで開きます。
左側のサイドバーでWebサービスをクリックします。
メソッドとしてRESTまたはSOAPを選択します。RESTおよびSOAP Webサービスの設定方法については、後述で詳しく説明します。
Webサービスアクションに対して条件付き出力を作成することもできます。
構成が完了したら、Webサービスアクティビティを他のワークフローアクティビティと接続する必要があります。
.png)
Webベース版Workflow DesignerにおけるWebサービスアクティビティのダイアログ
REST Webサービス
RESTful Webサービスを介したデータ交換は、全般、データ割り当て、ステータスコードの3つのタブを持つウィザードで構成します。
全般:Webサービスを選択する
アドレス
ワークフローでREST Webサービスを使用するには、事前にDocuWare 構成 > Webサービスに登録されている必要があります。登録済みのサービスのみがこのセクションに表示されます。
DocuWare組織にインストールされ、アクセス権限を持つすべてのREST Webサービスは、全般 > アドレスセクションに一覧表示されます。
定義済みのWebサービス:呼び出すREST Webサービスを選択します。
WebサービスのURL:選択したREST WebサービスのURLです。このフィールドは定義済みのWebサービスでの選択に基づいて自動的に入力され、読み取り専用です。
URLを変更するには、DocuWare 構成 > WebサービスでWebサービスの登録を更新してください。フォーマット:データ交換のフォーマット(JSONまたはXML)を指定します。選択するフォーマットによってデータ割り当ての方法が異なります。
エンドポイント
エンドポイントとは、リクエストの送信先となるWebサーバー上の特定のURLです。エンドポイントはデータを受信し、実行するアクションを定義します。
既定のエンドポイントはルートまたはベースURL(/)です。これは、Webサービスへの最初のエントリポイントとなります。
WebサービスがOpenAPI仕様ファイル(*.json、.txt、.yml、または*.yaml)を提供している場合は、インポートボタンを使用してインポートできます。インポートすると、利用可能なすべてのエンドポイントがドロップダウンに表示されます。
情報:既定のDocuWare Platform API
OpenAPI仕様や既定のDocuWare Platform API、またはDocuWare E-Invoicingのエンドポイントを使用する場合、選択したエンドポイントに基づいて必要なルートおよびパラメーターがすべて自動的に事前設定されるため、Webサービスの HTTPリクエストの構成が簡素化されます。
パラメーター構成:HTTPリクエストを定義する
選択したエンドポイントの後ろに表示されるURLをクリックして、パラメーター構成ウィザードを開きます。ここでは、ルート、クエリパラメーター、リクエストのヘッダーおよびボディなど、HTTPリクエストの実行に必要な情報とプロパティを指定します。この情報は、Webサービスに必要なすべてのデータを提供するために必要です。
.png)
リクエスト
このセクションでは、エンドポイントに送信するリクエストを構成します。利用可能な構成オプションは、選択したWebサービスとエンドポイントによって異なります。リクエスト(URL)のプレビューは上部に表示されます。
メソッド: HTTPメソッドは、エンドポイントに対して何を行うかを指定します。DocuWareはGET、POST、PUT、DELETEに対応しています。
OpenAPI仕様ファイル、既定のDocuWare Platform API、またはDocuWare E-Invoicingを使用する場合、HTTPメソッドは選択したエンドポイントに基づいて自動的に事前設定されます。
ルート:エンドポイントの個々のリソースを特定して指定するには、ルートを使用します。
OpenAPI仕様ファイル、既定のDocuWare Platform API、またはDocuWare E-Invoicingを使用する場合、ルートは選択したエンドポイントに基づいて自動的に事前設定されます。
固定値、ドキュメントインデックス値、グローバル変数、システム変数を渡すことができます。クエリパラメーター:ここにキーと値のペアを入力して、Webサービスに対して何を照会するかを正確に指定します。クエリパラメーターはオプションであることが多く、GETメソッドを使用するエンドポイントで結果を絞り込んだり、フィルタリングしたりするために使用されます。
OpenAPI仕様ファイル、既定のDocuWare Platform API、またはDocuWare E-Invoicingを使用する場合、クエリパラメーターは選択したエンドポイントに基づいて自動的に事前設定されます。
固定値、ドキュメントインデックス値、グローバル変数、システム変数を渡すことができます。ドキュメントの添付:現在ワークフローにあるドキュメントをリクエストに添付するかどうかを指定します。ドキュメントは元の形式のまま、またはPDFとして添付できます。DocuWareドキュメントが複数のファイル(クリップ済み)を含む場合は、すべてのファイルがエクスポートされ、個別に添付されます。HTTPリクエストには複数のファイルオブジェクトが含まれます。
これにより、たとえば請求書などのドキュメントを外部サービスに送信できます。エンコード:ルートおよびクエリで渡される値のエンコードを指定します。リクエストで渡す値によっては、URL内の文字をエンコードする必要がある場合と、不要な場合があります。エンコードには3つのオプションがあります。
特殊文字をエンコードする(推奨):すべての特殊文字がエンコードされます。たとえば、「AT&T」は「AT%26T」に、「Rapid Transport」は「Rapid%20Transport」になります。
特殊文字をエンコードする(URL予約文字を除く):(*&^%$#@!:
URL予約文字を除くすべての特殊文字がエンコードされます。たとえば、「AT&T」はそのまま残りますが、「Rapid Transport」は「Rapid%20Transport」になります。
特殊文字をエンコードしない:特殊文字も空白文字もエンコードされません。
エンコードは、ルートおよびクエリパラメーターで指定したすべての値に適用されます。
HTTPヘッダー
ヘッダーはリクエストの先頭、ステータス行の直後に配置されます。HTTPヘッダーは、リクエストに関するメタデータを提供するキーと値のペアです。たとえば、送信者、送信されるデータ形式、認証、またはWebサービスの応答に期待する形式などの情報を、Webサービス自体が認める範囲内で提供します。
HTTPボディ
HTTPボディは、リクエストのうちデータを送信する部分です(たとえばPOSTやPUTで使用されます)。
選択した操作の実行に必要な情報とプロパティを指定します。たとえば、適用するスタンプのGUIDなどです。または、新規ユーザーを作成する場合、HTTPボディにはJSON形式のユーザーデータが含まれます。HTTPボディの検証は、送信時または構成の保存時に自動的に行われます。コンテンツの一部が無効と判断された場合、該当するエラーが強調表示され、適切なメッセージが表示されます。検証に問題がある場合でも、構成を保存することは可能です。
HTTPボディの内容は、固定値、インデックスデータ、またはグローバル変数およびシステム変数を使用して構成します。検証に問題があっても、構成を保存するオプションが利用できる点に注意してください。
テスト
リクエストの送信ボタンを使用してリクエストをテストし、「Response」を確認して操作が成功したかどうかを確かめます。テストを実行するには、各変数にテスト値を指定する必要がある点に注意してください。ここでテスト用のドキュメントを指定することもでき、その場合はWebサービスのテストリクエストに含まれます。
データ割り当て:リクエストデータをワークフローで使用する
Webサービスの応答から返される情報は、ワークフロー内で利用できます。データ割り当てでは、このデータをワークフローのどこに格納するかを指定します。応答の構造はWebサービスが定義するもので、DocuWareワークフローが定義するものではありません。Workflow Designerでは、応答のどの部分を利用するかを決定するだけです。
応答の値をグローバル変数またはインデックスデータに割り当てます。必要な値は、応答のJSONまたはXML構造から直接選択します。
例:WebサービスがCRMから企業の詳細情報を取得したり、ERPシステムから注文に関する追加情報を取得したりします。
返されたすべてのエントリを処理する場合は、配列インデクサーのインデックスを手動でアスタリスク(*)に置き換えてください。これにより、配列内のすべてのエントリを包括的に処理できます。
ステータスコード
REST Webサービスは、実行後にHTTPレスポンスステータスコードと呼ばれるコードを返します。このコードは、リクエストが成功したか、エラーが発生したかを示します。
代表的なステータスコードには、たとえば以下のものがあります。
200 = OK(すべて正常に処理された)
201 = Created(何かが作成された)
400 = Bad Request(送信されたデータにエラーがある)
404 = Not found(リソースが見つからない)
500 = サーバーエラー
返されたコードをワークフロー変数に割り当てる機能を有効にすると、返されたステータスコードはワークフローのグローバル変数に保存されます。
変数に保存されたコードは、その後ワークフローで評価できます。たとえば、エラー処理やログ記録などに利用できます。
エラー処理
Webサービスの呼び出しが失敗した場合のワークフローの動作を構成するには、エラータブに切り替えてください。たとえば、外部のWebサービスが停止している場合、ワークフローを構成して、不足している情報の手動入力を依頼するメール通知の送信など、別の自動化アクションにドキュメントを送ることができます。
次のオプションから1つを選択してください。
エラー処理なし: このオプションは既定で有効になっています。
ワークフローを再開する:ドキュメントは、ワークフローのステップを自動的に最初から再度ルーティングされます。
ワークフローを終了する:ドキュメントは自動的にワークフローの最後にルーティングされます。この時点までに行われたすべての変更は保持されます。
ステップに移動する:このオプションは、データの割り当てアクティビティにエラー出力を追加します。別のアクティビティに接続して、ワークフロードキュメントを手動でルーティングしてください。
SOAP Webサービス
SOAP(Simple Object Access Protocol)は、データ交換にXMLを使用する標準化されたメッセージングプロトコルです。HTTPメソッド、ヘッダー、ルート、リクエストボディを手動で構成するRESTとは異なり、SOAP WebサービスはWSDL(Web Services Description Language)ファイルによって記述されます。WSDLは利用可能な操作、そのパラメーター、データ形式を定義します。そのため、Workflow Designerはこれらの情報を自動的に取得し、選択可能なオプションとして表示します。
メソッドタブでSOAP Webサービスを選択した後、Webサービスを設定をクリックして構成パネルを開きます。

アドレス:Webサービスを選択する
ワークフローでSOAP Webサービスを使用するには、事前にDocuWare 構成 > Webサービスに登録されている必要があります。登録済みのサービスのみがこのセクションに表示されます。
DocuWare組織にインストールされ、アクセス権限を持つすべてのSOAP Webサービスは、全般 > アドレスセクションに一覧表示されます。
定義済みのWebサービス:呼び出すSOAP Webサービスを選択します。登録済みのサービスはそれぞれ、サービスが提供する操作およびデータ構造を記述する特定のWSDLエンドポイントを指します。
WebサービスのURL:選択したサービスのWSDLエンドポイントのURLです。このフィールドは定義済みのWebサービスでの選択に基づいて自動的に入力され、読み取り専用です。
URLを変更するには、DocuWare 構成 > WebサービスでWebサービスの登録を更新してください。
メソッド:操作を選択する
メソッドドロップダウンには、選択したSOAP Webサービスが公開するすべての操作が一覧表示されます。これらの操作は、サービスのWSDL定義から自動的に取得されます。
ワークフローで実行する操作を選択します。この例では、メソッド「DeleteUnsignedDocument」が選択されており、これは署名サービスが提供する未署名ドキュメントを削除する操作です。メソッドを選択すると、その下のパラメーターセクションが自動的に更新され、その操作で必要な入力パラメーターが表示されます。
パラメーター:HTTPリクエストを定義する
パラメーターセクションには、選択したメソッドに必要な入力データが表示されます。これらのパラメーターはWSDLで定義されており、自動的に表示されます。手動で追加または削除する必要はありません。各パラメーターには名前、データ型、構成用のフィールドがあります。
ソースタイプ:値の取得元を決定します。次のソースが利用できます。
ドキュメントインデックス:現在ワークフローにあるドキュメントのインデックスフィールドの値。
固定値:直接入力する静的な値。
グローバル変数:ワークフローの実行中に設定および変更できるワークフロー変数。
システム変数:キャビネットのGUIDやドキュメントIDなど、DocuWareが提供する事前定義済みの値。
値:渡される特定のフィールド、変数、または固定値。ドロップダウンに表示される値は、選択したソースタイプによって異なります。
上のスクリーンショットの例では、メソッド「DeleteUnsignedDocument」に3つのパラメーターが必要です。
DocId:ドキュメントインデックスからのドキュメントIDにマッピング)
FileCabinetId:キャビネットGUIDシステム変数にマッピング、
Token:グローバル変数にマッピング。
データ割り当て:応答データをワークフローで使用する
実行後、SOAP Webサービスは結果データを含む応答を返します。データ割り当てセクションでは、応答のフィールドをグローバル変数にマッピングすることで、このデータをワークフロー内で利用できるようにします。
応答の構造はSOAP Webサービス自体によって決まり、折りたたみ可能なツリーとして自動的に表示されます。各フィールドには名前とデータ型が表示されます。構造を構成する必要はなく、どのフィールドを取り込むかを選択するだけです。
値を割り当てるには、利用したい応答フィールドに対してグローバル変数を選択します。割り当てなしのままにしたフィールドは無視されます。割り当て自体は実行時に自動的に行われ、ワークフローがこのアクティビティを実行するたびに、応答の値はマッピングされたグローバル変数に書き込まれます。これらの変数は、その後のワークフローのステップで使用できます。たとえば、条件、通知、その他のアクティビティで利用できます。
REST Webサービスでは応答データをグローバル変数およびドキュメントインデックスフィールドの両方に割り当てられますが、SOAPのデータ割り当てはグローバル変数のみに対応しています。
スクリーンショットの例では、メソッド「DeleteUnsignedDocument」が文字列型の「Message」フィールドを含む「DeleteUnsignedDocumentResult」を返します。このフィールドをグローバル変数にマッピングすることで、署名サービスからの確認メッセージやエラーメッセージを取得できます。
エラー処理
Webサービスの呼び出しが失敗した場合のワークフローの動作を構成するには、エラータブに切り替えてください。たとえば、外部のWebサービスが停止している場合、ワークフローを構成して、不足している情報の手動入力を依頼するメール通知の送信など、別の自動化アクションにドキュメントを送ることができます。
次のオプションから1つを選択してください。
エラー処理なし: このオプションは既定で有効になっています。
ワークフローを再開する:ドキュメントは、ワークフローのステップを自動的に最初から再度ルーティングされます。
ワークフローを終了する:ドキュメントは自動的にワークフローの最後にルーティングされます。この時点までに行われたすべての変更は保持されます。
ステップに移動する:このオプションは、データの割り当てアクティビティにエラー出力を追加します。別のアクティビティに接続して、ワークフロードキュメントを手動でルーティングしてください。