Java API を使用して Forms サービスにドキュメントを渡す
Forms サービスとコンテンツサービス(非推奨)API (Java) を使用して、コンテンツサービス(非推奨)から取得したドキュメントを渡します。
-
プロジェクトファイルを含める
adobe-forms-client.jar やadobe-contentservices-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。
-
Forms と Document Management Client API オブジェクトの作成
- 接続プロパティを含む
ServiceClientFactory
オブジェクトを作成します。(接続プロパティの設定を参照) - コンストラクターを使用して
ServiceClientFactory
オブジェクトを渡すことによって、FormsServiceClient
オブジェクトを作成します。 - コンストラクタを使用して
DocumentManagementServiceClientImpl
オブジェクトを渡すことによって、ServiceClientFactory
オブジェクトを作成します。
- 接続プロパティを含む
-
コンテンツサービス(非推奨)からフォームデザインを取得する
DocumentManagementServiceClientImpl
オブジェクトのretrieveContent
メソッドを呼び出して、次の値を渡します。- コンテンツの追加先となるストアを指定する文字列値です。デフォルトのストアは
SpacesStore
です。この値は必須パラメーターです。 - 取得するコンテンツの完全修飾パスを指定する文字列値(例:
/Company Home/Form Designs/Loan.xdp
)。この値は必須パラメーターです。 - バージョンを指定する文字列値。この値はオプションのパラメーターであり、空の文字列を渡すことができます。この場合、最新バージョンが取得されます。
retrieveContent
メソッドは、XDP ファイルを含むCRCResult
オブジェクトを返します。CRCResult
オブジェクトのgetDocument
メソッドを呼び出して、com.adobe.idp.Document
インスタンスを取得します。 - コンテンツの追加先となるストアを指定する文字列値です。デフォルトのストアは
-
インタラクティブ PDF フォームのレンダリング
FormsServiceClient
オブジェクトのrenderPDFForm2
メソッドを呼び出して、次の値を渡します。- コンテンツサービス(非推奨)から取得したフォームデザインを含む
com.adobe.idp.Document
オブジェクトです。 - フォームに結合するデータを含む
com.adobe.idp.Document
オブジェクトです。データを結合しない場合は、空のcom.adobe.idp.Document
オブジェクトを渡します。 - 実行時オプションを保存する
PDFFormRenderSpec
オブジェクト。この値はオプションのパラメーターであり、実行時のオプションを指定しない場合は、null
を指定できます。 - URI 値を格納する
URLSpec
オブジェクト。この値はオプションのパラメーターであり、null
を指定できます。 - 添付ファイルを保存する
java.util.HashMap
オブジェクト。この値はオプションのパラメーターであり、フォームにファイルを添付しない場合は、null
を指定できます。
この
renderPDFForm
メソッドは、クライアントの web ブラウザーに書き込む必要があるフォームデータストリームを含むFormsResult
オブジェクトを返します。 - コンテンツサービス(非推奨)から取得したフォームデザインを含む
-
フォームデータストリームを使用してアクションを実行
FormsResult
オブジェクトのgetOutputContent
メソッドを呼び出して、com.adobe.idp.Document
オブジェクトを作成します。getContentType
メソッドを呼び出して、com.adobe.idp.Document
オブジェクトのコンテンツタイプを取得します。javax.servlet.http.HttpServletResponse
オブジェクトのコンテンツタイプを設定するには、setContentType
メソッドを呼び出して、com.adobe.idp.Document
オブジェクトのコンテンツタイプを渡します。javax.servlet.http.HttpServletResponse
オブジェクトのgetOutputStream
メソッドを呼び出して、フォームデータストリームをクライアント web ブラウザーに書き込むために使用されるjavax.servlet.ServletOutputStream
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトのgetInputStream
メソッドを呼び出すことによって、java.io.InputStream
オブジェクトを作成します。- バイト配列を作成し、
InputStream
オブジェクトのread
メソッドを呼び出して、フォームデータストリームを入力します。バイト配列を引数として渡します。 javax.servlet.ServletOutputStream
オブジェクトのwrite
メソッドを呼び出して、フォームデータストリームをクライアント web ブラウザーに送信します。バイト配列をwrite
メソッドに渡します。
Web サービス API を使用してドキュメントを Forms サービスに渡す
Forms サービスおよびコンテンツサービス(非推奨) API(web サービス)を使用してコンテンツサービス(非推奨)から取得したドキュメントを渡すには、以下の手順を実行します。
-
プロジェクトファイルを含める
MTOM を使用する Microsoft .NET プロジェクトを作成します。このクライアントアプリケーションは 2 つの AEM Forms サービスを呼び出すので、2 つのサービス参照を作成します。Forms サービスに関連付けられたサービス参照には、WSDL 定義
http://localhost:8080/soap/services/FormsService?WSDL&lc_version=9.0.1
を使用します。Document Management サービスに関連付けられたサービス参照には、WSDL 定義
http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1
を使用します。BLOB
データタイプは両方のサービス参照に共通なので、使用する場合はBLOB
データタイプを完全に修飾します。対応する web サービスのクイックスタートで、BLOB
インスタンスは完全に修飾されています。メモ
localhost
を AEM Forms をホストしているサーバーの IP アドレスに置き換えます。 -
Forms と Document Management Client API オブジェクトの作成
-
デフォルトのコンストラクターを使用して
FormsServiceClient
オブジェクトを作成します。 -
System.ServiceModel.EndpointAddress
コンストラクタを使用してFormsServiceClient.Endpoint.Address
オブジェクトを作成します。WSDL を 指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/FormsService?WSDL
)。lc_version
属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。 -
FormsServiceClient.Endpoint.Binding
フィールドの値を取得して、System.ServiceModel.BasicHttpBinding
オブジェクトを作成します。戻り値をBasicHttpBinding
にキャストします。 -
System.ServiceModel.BasicHttpBinding
オブジェクトのMessageEncoding
フィールドをWSMessageEncoding.Mtom
に設定します。この値により、MTOM が確実に使用されます。 -
次のタスクを実行して、HTTP 基本認証を有効にします。
FormsServiceClient.ClientCredentials.UserName.UserName
フィールドに AEM Forms ユーザー名を割り当てます。- 対応するパスワード値を
FormsServiceClient.ClientCredentials.UserName.Password
フィールドに割り当てます。 - 定数値
HttpClientCredentialType.Basic
をBasicHttpBindingSecurity.Transport.ClientCredentialType
フィールドに割り当てます。
-
フィールド
BasicHttpBindingSecurity.Security.Mode
に定数値BasicHttpSecurityMode.TransportCredentialOnly
を割り当てます。
メモ
DocumentManagementServiceClient
サービスクライアント向けに、以下の手順を繰り返します。 -
-
コンテンツサービス(非推奨)からフォームデザインを取得する
DocumentManagementServiceClient
オブジェクトのretrieveContent
メソッドを呼び出し、以下の値を渡してコンテンツを取得します。- コンテンツの追加先となるストアを指定する文字列値です。デフォルトのストアは
SpacesStore
です。この値は必須パラメーターです。 - 取得するコンテンツの完全修飾パスを指定する文字列値(例:
/Company Home/Form Designs/Loan.xdp
)。この値は必須パラメーターです。 - バージョンを指定する文字列値。この値はオプションのパラメーターであり、空の文字列を渡すことができます。この場合、最新バージョンが取得されます。
- 参照リンクの値を格納する文字列出力パラメーター。
- コンテンツを格納する
BLOB
出力パラメーター。この出力パラメーターを使用して、コンテンツを取得できます。 - コンテンツ属性を格納する
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
出力パラメーター。 CRCResult
出力パラメーター。このオブジェクトを使用する代わりに、BLOB
出力パラメーターを使用して、コンテンツを取得できます。
- コンテンツの追加先となるストアを指定する文字列値です。デフォルトのストアは
-
インタラクティブ PDF フォームのレンダリング
FormsServiceClient
オブジェクトのrenderPDFForm2
メソッドを呼び出して、次の値を渡します。- コンテンツサービス(非推奨)から取得したフォームデザインを含む
BLOB
オブジェクトです。 - フォームに結合するデータを含む
BLOB
オブジェクトです。データを結合しない場合は、空のBLOB
オブジェクトを渡します。 - 実行時オプションを保存する
PDFFormRenderSpec
オブジェクト。この値はオプションのパラメーターであり、実行時のオプションを指定しない場合は、null
を指定できます。 - URI 値を格納する
URLSpec
オブジェクト。この値はオプションのパラメーターであり、null
を指定できます。 - 添付ファイルを保存する
Map
オブジェクト。この値はオプションのパラメーターで、フォームにファイルを添付しない場合は、null
を指定できます。 - ページ数の保存に使用される長い出力パラメーターです。
- ロケール値の格納に使用される文字列出力パラメーターです。
- インタラクティブ PDF フォーム
.
の保存に使用するFormsResult
出力パラメーター
renderPDFForm2
メソッドは、インタラクティブ PDF フォームを含むFormsResult
オブジェクトを返します。 - コンテンツサービス(非推奨)から取得したフォームデザインを含む
-
フォームデータストリームを使用してアクションを実行
FormsResult
オブジェクトのoutputContent
フィールドの値を取得して、フォームデータを含むBLOB
オブジェクトを作成します。- コンストラクターを呼び出して
System.IO.FileStream
オブジェクトを作成します。インタラクティブ PDF ドキュメントのファイルの場所と、ファイルを開くモードを表す文字列値を渡します。 FormsResult
オブジェクトから取得したBLOB
オブジェクトのコンテンツを格納するバイト配列を作成します。バイト配列を入力するには、BLOB
オブジェクトのMTOM
データメンバーの値を取得します。- コンストラクターを使用して
System.IO.BinaryWriter
オブジェクトを渡すことによって、System.IO.FileStream
オブジェクトを作成します。 System.IO.BinaryWriter
オブジェクトのWrite
メソッドを呼び出して、バイト配列を渡すことによって、バイト配列の内容を PDF ファイルに書き込みます。