問題点

この記事では、プロセスで Web Service サービスを使用して、入力値としてファイルの添付を必要とするサービスを呼び出す方法について説明します。この記事では、LiveCycle ES Web サービスによって添付ファイルが返される形式を指定する方法についても説明します。

例えば、ドキュメントタイプのサービス入力変数および出力変数は、SOAP メッセージでは添付ファイルとして表示されます。入力ドキュメント値を提供するために、SOAP メッセージに添付ファイルが含まれます。Web サービスはドキュメントタイプの出力変数がある場合、応答メッセージには添付ファイルが含まれています。

ファイルは、MIME 添付ファイル、MTOM 添付ファイル、base64-encoded テキストとして、またはファイルの URL を使用して添付できます。

注意:LiveCycle ES が提供する Web サービスでは、MTOM 添付ファイルはサポートされていません。

Web サービス要求メッセージの設定

ここでは、Invoke Web Service 操作の Web Service Options プロパティを設定する方法について説明します。このプロパティを使用して、Web サービスに送信される SOAP 要求メッセージを設定します。

WebService 設定ダイアログボックスを開く

WebService 設定ダイアログボックスを使用して、Invoke Web Service 操作の Web Service Options プロパティを設定します。

WebService 設定ダイアログボックスを開くには:

  1. プロセスダイアグラムで、Invoke Web Service 操作をクリックします。
  2. プロパティビューで、「Web Service Options」セクションを展開し、「Options」ボックスの横にあるボタンをクリックします。

Web サービスのプロパティの指定

Web Service サービスが WSDL を取得して、SOAP メッセージを送受信するためには、Web サービスに関する次の情報を提供する必要があります。

WSDL URL:Web サービス定義の URL です。プロセス WSDL の URL は次の形式で入力します。 http://[server name]:[port]/soap/services/[プロセス名]?wsdl 例えば、echoDocument として名付けられたプロセスの WSDL は以下の URL を指定しています。LiveCycle Workbench ES がインストールされているコンピューターでアプリケーションサーバーを実行しています。 http://localhost:8080/soap/services/echoDocument?wsdl ユーザーネーム:Web サービスへのアクセスに使用できるアカウントのユーザー名です。Web サービスで認証が必要な場合にのみ、ユーザー名を指定する必要があります。

パスワード:ユーザー名プロパティに提供されたユーザー名に対応するパスワードです。

ポート:WSDL で公開されている、使用するサービスです。WSDL では複数のサービスを公開できます。

ターゲティング URL:Web サービスへのアクセスを提供する URL です。echoDocument というプロセスの URL は http://localhost:8080/soap/services/echoDocument です。

強い/操作:呼び出す Web サービス操作です。Web サービス定義を読み込むと、リストに自動的に入力されます。

タイムアウト:Web サービスの呼び出しを中断する前に Web サービスからの応答を保留した時間。指定する値の単位は秒です。





Web サービスのプロパティを指定するには

  1. WebService 設定ダイアログボックスで、「設定」タブをクリックします。
  2. 「WSDL URL」ボックスに Web サービス WSDL の URL を入力します。
  3. 「読み込み」をクリックして、WSDL を取得します。「設定」タブの一部のプロパティは、WSDL の情報を使用して自動的に入力されます。
  4. 必要に応じて、ユーザー名とパスワードを入力します。
  5. Port のデフォルト値が正しくない場合は、別の値を入力します。
  6. ターゲット URL のデフォルト値が正しくない場合は、別の URL を入力します。
  7. 呼び出したい操作を選択します。
  8. (オプション)サービス要求がタイムアウトするまでの時間を指定します。

初期 SOAP 要求の生成

WebService 設定ダイアログボックスは、Web サービスを呼び出すための SOAP メッセージを生成します。メッセージは、指定した Web サービスのプロパティに基づきます。SOAP メッセージは、必要に応じて編集できるテキストボックスで提供されます。

初期 SOAP メッセージを生成するには:

  1. WebService Settings ダイアログボックスで、「リクエスト」タブをクリックします。
  2. 「生成」ボタンをクリックします。

添付ファイルの設定

SOAP メッセージには、サービス入力パラメーターのドキュメント値を表す添付ファイルを含める必要があります。

次の XML コードは、Web サービス操作の呼び出しに使用される SOAP メッセージの一般的な構造を示しています。

  • Body エレメントには、サービス操作と同じ名前のエレメントが 1 つ含まれます。
  • operation_name 要素には、入力パラメーターごとに 1 つのエレメントが含まれます。これらのエレメントの名前は、パラメーター名と同じです。
  • SOAP メッセージ MIME、MTOM(LiveCycle ES Web サービスを除く)、base64-encoded テキスト、または URL のファイルを添付するのに使用されるメソッドは、添付ファイルを識別するために使用されるエレメントを決定します。

<soapenv:Envelope
		
	     xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/
		
	     xmlns:ser="http://foo.net/services"> 
		
	    <soapenv:Header /> 
		
	    <soapenv:Body> 
		
	       <ser:operation_name> 
		
	          <ser:parameter_name> 
		
	             <!-- elements for file attachments are placed here --> 
		
	          </ser:parameter_name> 
		
	       </ser:operation_name> 
		
	    </soapenv:Body> 
		
	 </soapenv:Envelope> 

アクティベートされたプロセスの Web サービスでは、操作名は常に invoke です。パラメーター名は、プロセスで定義されている入力変数の名前です。次の表では、ファイルを添付するために WebService Settings ダイアログボックスでオプションを設定する方法について説明します。SOAP メッセージの例は、メソッドごとに提供されます。例は、documentIn という名前の入力パラメーターを持つ、プロセスの Web サービスの要求メッセージです。documentIn パラメーターは document 値です。

添付ファイルの種類 説明 SOAP メッセージの例
MIME/MTOM

WebService Settings ダイアログボックスの「Attachment」タブを使用して document 値を指定します。テーブルの各行は添付ファイルを表します。

MIME 添付ファイルを設定するには:

  1. 「Attachment」タブをクリックします。
  2. 呼び出している Web サービス操作に指定する必要がある添付ファイルの行を表に追加するには、「Load Attachment Part」をクリックします。「Part」列と「Type」列に値が自動的に入力されます。

    「Part」列の値を控えておいてください。この手順の手順 6 でこれらの値を指定する必要があります。「Part」列には添付ファイルの ID が含まれます。Web サービスによって ID が決定されます。

  3. テーブルの各行で、「Attachment」セルをクリックし、表示される省略記号ボタンをクリックして、XPath Builder を開きます。作成する XPath 式は、document 値が保存されているデータの場所に解決される必要があります。
  4. 表の各行で、「Content - Type」セルをクリックし、添付するファイルの MIME タイプ(例えば、application/pdf)を入力します。
  5. 「Request」タブをクリックし、添付ファイルを値とするパラメーターを表す各エレメント内に attachmentID エレメントを追加します。
  6. 各 attachmentID エレメントに、「Attachment」タブの添付ファイルの「Part」列に表示されるテキストを入力します。
<soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:ser="http://adobe.com/idp/services"> <soapenv:Header/> <soapenv:Body> <ser:invoke> <ser:documentIn> <ser:attachmentID> part0 </ser:attachmentID> </ser:documentIn> </ser:invoke> </soapenv:Body> </soapenv:Envelope>
base64-encoded テキスト

コンテンツの MIME タイプおよびファイルの base64-encoded テキストは SOAP メッセージに含まれています。

  • コンテンツタイプは contentType エレメントで指定されます。
  • テキストは binaryData エレメントで指定されます。

base64-encoded テキストを取得する場合、getDocContentBase64 XPath 関数を使用できます。

次の手順では、document 値を表す base64 エンコードされたテキストがプロセス変数に格納されていると想定しています。

base64 エンコードされたテキストの添付ファイルの設定:

  1. 「Request」タブをクリックします。
  2. document 値を取得するパラメーターを表すエレメント内に次のエレメントを追加します。
    • contentType
    • binaryData
  3. contentType 要素内で、コンテンツタイプを入力するか、コンテンツタイプを含む文字列変数に解決される XPath 式を追加します。
  4. binaryData 要素内で、ドキュメントを表す base64 エンコードされたテキストを含む文字列変数に解決される XPath 式を追加してください。
<soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:ser="http://adobe.com/idp/services"> <soapenv:Header/> <soapenv:Body> <ser:invoke> <ser:documentIn> <ser:contentType> {$/process_data/@contentType$} </ser:contentType> <ser:binaryData> {$/process_data/@docBase64$} </ser:binaryData> </ser:documentIn> </ser:invoke> </soapenv:Body> </soapenv:Envelope>
ファイル URL

ファイルの URL は、remoteURL エレメントで指定されます。

ファイルの URL 添付を設定するには:

  1. 「Request」タブをクリックします。
  2. document 値を使用するパラメーターを表すエレメント内に remoteURL エレメントを追加します。
  3. remoteURL エレメント内で、ファイルの URL を入力するか、URL を含む文字列変数に解決される XPath 式を追加します。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://adobe.com/idp/services"> <soapenv:Header/> <soapenv:Body> <ser:invoke> <ser:documentIn> <ser:remoteURL> http://help.adobe.com/en_US/livecycle/es/overview.pdf </ser:remoteURL> </ser:documentIn> </ser:invoke> </soapenv:Body> </soapenv:Envelope>

LiveCycle ES Web サービス応答メッセージの設定

LiveCycle ES Web サービスが document 値を返す場合、値は SOAP 応答メッセージへの添付ファイルです。LiveCycle ES Web サービスのデフォルトの動作では、結果ドキュメントの値を LiveCycle ES サーバーに保存し、応答メッセージのドキュメントに URL を含めます。ただし、SOAP 要求メッセージに MIME 添付ファイルが含まれている場合、応答も MIME 添付ファイルを使用して document 値を返します。

デフォルトの動作を上書きし、LiveCycle ES Web サービスでドキュメント添付ファイルを返すために使用する方法を指定できます。ファイルの MIME 添付ファイル、base64 エンコードされたテキストまたはファイルの URL を使用して、SOAP 応答メッセージに添付できます。応答メッセージにファイルの添付方法を指定するには、WebService Settings ダイアログボックスの「Settings」タブで指定された Target URL に次の表のいずれかの値を追加する必要があります。

添付ファイルの種類 追加するテキスト
base64-encoded テキスト ?blob=base64
MIME ?blob=mime
ファイル URL ?blob=http

例えば、Target URL の次の値は、echoDocument という名のプロセスの Web サービスでは、base64 エンコードされたテキストとして、SOAP 応答メッセージにファイルを添付する原因となります。

http://localhost:8080/soap/services/echoDocument?blob=base64

SOAP 応答メッセージのデフォルトの添付ファイル動作を上書きするには:

  1. WebService 設定ダイアログボックスで、「Settings」タブをクリックします。
  2. 「Target URL」ボックスで、URL にいずれかの値を付加します。
    • ?blob=base64
    • ?blob=mime
    • ?blob=http

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー