このドキュメントのサンプルと例は、JEE環境上のAEM Formsに対してのみ提供されています。
Assemblerサービスで使用されるDDXドキュメントをプログラムによって検証できます。 つまり、AssemblerサービスAPIを使用して、DDXドキュメントが有効かどうかを判断できます。 例えば、以前のAEM Formsバージョンからアップグレードした場合に、DDXドキュメントが有効であることを確認するには、Assembler Service APIを使用して検証できます。
Assemblerサービスについて詳しくは、『AEM Formsのサービスリファレンス』を参照してください。
DDXドキュメントについて詳しくは、「Assembler Service and DDX Reference」を参照してください。
DDXドキュメントを検証するには、次のタスクを実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めてください。
次のJARファイルをプロジェクトのクラスパスに追加する必要があります。
AEM FormsがJBoss以外のサポート対象のJ2EEアプリケーションサーバーにデプロイされている場合は、adobe-utilities.jarファイルとjbossall-client.jarファイルを、AEM FormsがデプロイされているJ2EEアプリケーションサーバーに固有のJARファイルに置き換える必要があります。
PDFアセンブラクライアントの作成
プログラムによってAssembler操作を実行する前に、Assemblerサービスクライアントを作成する必要があります。
既存のDDXドキュメントの参照
DDXドキュメントを検証するには、既存のDDXドキュメントを参照する必要があります。
DDXドキュメントを検証するための実行時オプションの設定
DDXドキュメントを検証する場合は、実行するのではなくDDXドキュメントを検証するようAssemblerサービスに指示する、特定の実行時オプションを設定する必要があります。 また、Assemblerサービスがログファイルに書き込む情報量を増やすこともできます。
検証の実行
Assemblerサービスクライアントの作成後、DDXドキュメントを参照し、実行時オプションを設定した後、invokeDDX
操作を呼び出してDDXドキュメントを検証できます。 DDXドキュメントを検証する場合、null
をmapパラメーターとして渡すことができます(通常、このパラメーターには、DDXドキュメントで指定された操作の実行にアセンブラが必要とするPDFドキュメントが格納されます)。
検証に失敗すると、例外がスローされ、DDXドキュメントが無効である理由をOperationException
インスタンスから取得できる理由をログファイルに示します。 基本的なXML解析とスキーマチェックの完了後、DDX仕様に対する検証が実行されます。 DDXドキュメントにあるすべてのエラーは、ログに記録されます。
検証結果をログファイルに保存する
Assemblerサービスは、XMLログファイルに書き込むことができる検証結果を返します。 Assemblerサービスがログファイルに書き込む詳細の量は、設定した実行時のオプションによって異なります。
関連トピック
Assembler Service API(Java)を使用してDDXドキュメントを検証します。
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-assembler-client.jarなどのクライアントJARファイルを含めます。
PDFアセンブラクライアントを作成します。
ServiceClientFactory
オブジェクトを作成します。AssemblerServiceClient
オブジェクトを渡して、ServiceClientFactory
オブジェクトを作成します。既存のDDXドキュメントの参照。
java.io.FileInputStream
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトを渡すことによって、java.io.FileInputStream
オブジェクトを作成します。DDXドキュメントを検証するための実行時オプションを設定します。
AssemblerOptionSpec
オブジェクトを作成します。AssemblerOptionSpec
オブジェクトのsetValidateOnlyメソッドを呼び出し、true
を渡すことで、DDXドキュメントの検証をAssemblerサービスに指示する実行時オプションを設定します。AssemblerOptionSpec
オブジェクトのgetLogLevel
メソッドを呼び出し、必要に応じて文字列値を渡します。 DDXドキュメントを検証する場合、検証プロセスに役立つ詳細情報をログファイルに書き込む必要があります。 その結果、FINE
またはFINER
の値を渡すことができます。検証を実行します。
AssemblerServiceClient
オブジェクトのinvokeDDX
メソッドを呼び出し、次の値を渡します。
com.adobe.idp.Document
オブジェクトです。null
です。com.adobe.livecycle.assembler.client.AssemblerOptionSpec
オブジェクト。invokeDDX
メソッドは、DDXドキュメントが有効かどうかを指定する情報を含むAssemblerResult
オブジェクトを返します。
検証結果をログファイルに保存します。
java.io.File
オブジェクトを作成し、ファイル名の拡張子が.xmlであることを確認します。AssemblerResult
オブジェクトのgetJobLog
メソッドを呼び出します。 このメソッドは、検証情報を含むcom.adobe.idp.Document
インスタンスを返します。com.adobe.idp.Document
オブジェクトのcopyToFile
メソッドを呼び出して、com.adobe.idp.Document
オブジェクトの内容をファイルにコピーします。DDXドキュメントが無効な場合は、OperationException
がスローされます。 catchステートメント内で、OperationException
オブジェクトのgetJobLog
メソッドを呼び出すことができます。
関連トピック
クイック開始(SOAPモード):Java API (SOAPモード)を使用したDDXドキュメントの検証
Assembler Service API(Webサービス)を使用してDDXドキュメントを検証します。
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.
localhostをformsサーバーのIPアドレスに置き換えます。
PDFアセンブラクライアントを作成します。
AssemblerServiceClient
オブジェクトを作成するには、そのオブジェクトのデフォルトのコンストラクタを使用します。
System.ServiceModel.EndpointAddress
コンストラクターを使用してAssemblerServiceClient.Endpoint.Address
オブジェクトを作成します。 WSDLをAEM Formsサービスに指定するstring値を渡します(例:http://localhost:8080/soap/services/AssemblerService?blob=mtom
)。 lc_version
属性を使用する必要はありません。 この属性は、サービス参照を作成する際に使用されます。
AssemblerServiceClient.Endpoint.Binding
フィールドの値を取得してSystem.ServiceModel.BasicHttpBinding
オブジェクトを作成します。 戻り値を BasicHttpBinding
にキャストします。
System.ServiceModel.BasicHttpBinding
オブジェクトのMessageEncoding
フィールドをWSMessageEncoding.Mtom
に設定します。 この値により、MTOMが使用されます。
次のタスクを実行して、基本的なHTTP認証を有効にします。
AssemblerServiceClient.ClientCredentials.UserName.UserName
に割り当てます。AssemblerServiceClient.ClientCredentials.UserName.Password
に割り当てます。HttpClientCredentialType.Basic
をフィールドBasicHttpBindingSecurity.Transport.ClientCredentialType
に割り当てます。BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。既存のDDXドキュメントの参照。
BLOB
オブジェクトを作成します。BLOB
オブジェクトは、DDXドキュメントの保存に使用されます。System.IO.FileStream
オブジェクトを作成します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出し、読み取るバイト配列、開始位置、ストリーム長を渡すことで、バイト配列にストリームデータを入力します。BLOB
オブジェクトにMTOM
プロパティを割り当て、バイト配列の内容を指定します。DDXドキュメントを検証するための実行時オプションを設定します。
AssemblerOptionSpec
オブジェクトを作成します。AssemblerOptionSpec
オブジェクトのvalidateOnly
データメンバーに値trueを割り当てることで、DDXドキュメントの検証をAssemblerサービスに指示する実行時オプションを設定します。AssemblerOptionSpec
オブジェクトのlogLevel
データメンバーに文字列値を割り当てます。 DDXドキュメントを検証する場合は、検証プロセスに役立つ詳細情報をログファイルに書き込む必要があります。 その結果、FINE
またはFINER
の値を指定できます。 設定できる実行時オプションについて詳しくは、AEM FormsAPIリファレンスのAssemblerOptionSpec
クラス参照を参照してください。検証を実行します。
AssemblerServiceClient
オブジェクトのinvokeDDX
メソッドを呼び出し、次の値を渡します。
BLOB
オブジェクトです。Map
オブジェクトの値null
です。AssemblerOptionSpec
オブジェクト。invokeDDX
メソッドは、DDXドキュメントが有効かどうかを指定する情報を含むAssemblerResult
オブジェクトを返します。
検証結果をログファイルに保存します。
System.IO.FileStream
オブジェクトを作成します。 ファイル名の拡張子が.xmlであることを確認します。AssemblerResult
オブジェクトのjobLog
データメンバの値を取得して、ログ情報を格納するBLOB
オブジェクトを作成します。BLOB
オブジェクトの内容を格納するバイト配列を作成します。 BLOB
オブジェクトのMTOM
フィールドの値を取得して、バイト配列を入力します。System.IO.FileStream
オブジェクトを渡し、System.IO.BinaryWriter
オブジェクトを作成します。System.IO.BinaryWriter
オブジェクトのWrite
メソッドを呼び出し、バイト配列を渡すことで、バイト配列の内容をPDFファイルに書き込みます。DDXドキュメントが無効な場合は、OperationException
がスローされます。 catchステートメント内では、OperationException
オブジェクトのjobLog
メンバの値を取得できます。
関連トピック