Web サービス API を使用した DDX ドキュメントの検証 validate-a-ddx-document-using-theweb-service-api
このドキュメントのサンプルと例は、JEE 環境の AEM Forms のみを対象としています。
Assembler Service API(web サービス)を使用して DDX ドキュメントを検証します。
-
プロジェクトファイルを含めます。
MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
を使用するようにします。note note NOTE localhost を Forms サーバーの IP アドレスに置き換えます。 -
PDF Assembler クライアントを作成します。
-
デフォルトのコンストラクターを使用して、
AssemblerServiceClient
オブジェクトを作成します。 -
System.ServiceModel.EndpointAddress
コンストラクターを使用して、AssemblerServiceClient.Endpoint.Address
オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例: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
フィールドに AEM Forms ユーザー名を割り当てます。- 対応するパスワード値を
AssemblerServiceClient.ClientCredentials.UserName.Password
フィールドに割り当てます。 - 定数値
HttpClientCredentialType.Basic
をBasicHttpBindingSecurity.Transport.ClientCredentialType
フィールドに割り当てます。 - 定数値
BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。
-
-
既存の DDX ドキュメントを参照します。
- コンストラクターを使用して
BLOB
オブジェクトを作成します。このBLOB
オブジェクトは、DDX ドキュメントの保存に使用されます。 System.IO.FileStream
オブジェクトを作成するには、そのコンストラクターを呼び出し、DDX ドキュメントのファイルの場所とファイルを開くモードを表す文字列値を渡します。System.IO.FileStream
オブジェクトのコンテンツを保存するバイト配列を作成します。System.IO.FileStream
オブジェクトのLength
プロパティを取得することで、バイト配列のサイズを決定できます。- バイト配列にストリームデータを入力するには、
System.IO.FileStream
オブジェクトのRead
メソッドを呼び出し、バイト配列、開始位置、読み取るストリーム長を渡します。 MTOM
プロパティにバイト配列のコンテンツを割り当てて、BLOB
オブジェクトを入力します。
- コンストラクターを使用して
-
DDX ドキュメントを検証するための実行時オプションを設定します。
- コンストラクターを使用して、実行時オプションを格納する
AssemblerOptionSpec
オブジェクトを作成します。 AssemblerOptionSpec
オブジェクトのvalidateOnly
データメンバーに true の値を割り当てることにより、DDX ドキュメントを検証するように Assembler サービスに指示する実行時オプションを設定します。AssemblerOptionSpec
オブジェクトのlogLevel
データメンバーに文字列値を割り当てて、Assembler サービスがログファイルに書き込む情報の量を設定します。DDX ドキュメントを検証する場合、検証プロセスに役立つ詳細情報をログファイルに書き込みます。その結果、FINE
またはFINER
の値を指定できます。設定できる実行時オプションについて詳しくは、AEM Forms API リファレンスのAssemblerOptionSpec
クラス参照を参照してください。
- コンストラクターを使用して、実行時オプションを格納する
-
検証を実行します。
AssemblerServiceClient
オブジェクトのinvokeDDX
メソッドを呼び出して、次の値を渡します。- DDX ドキュメントを表す
BLOB
オブジェクト。 - 通常は PDF ドキュメントを格納する
Map
オブジェクトの値null
。 - 実行時オプションを指定する
AssemblerOptionSpec
オブジェクト。
invokeDDX
メソッドは、DDX ドキュメントが有効かどうかを示す情報が格納されるAssemblerResult
オブジェクトを返します。 - DDX ドキュメントを表す
-
検証結果をログファイルに保存します。
- コンストラクターを呼び出し、ログファイルの場所とファイルを開くモードを表す文字列値を渡して、
System.IO.FileStream
オブジェクトを作成します。ファイル名の拡張子が .xml であることを確認します。 AssemblerResult
オブジェクトのjobLog
データメンバーの値を取得して、ログ情報を格納するBLOB
オブジェクトを作成します。BLOB
オブジェクトのコンテンツを格納するバイト配列を作成します。BLOB
オブジェクトのMTOM
フィールドの値を取得して、バイト配列に入力します。- コンストラクターを呼び出し、
System.IO.FileStream
オブジェクトを渡すことによって、System.IO.BinaryWriter
オブジェクトを作成します。 - バイト配列のコンテンツを PDF ファイルに書き込むには、
System.IO.BinaryWriter
オブジェクトのWrite
メソッドを呼び出して、バイト配列を渡してください。
note note NOTE DDX ドキュメントが無効な場合、 OperationException
がスローされます。catch ステートメント内で、OperationException
オブジェクトのjobLog
メンバーの値を取得できます。 - コンストラクターを呼び出し、ログファイルの場所とファイルを開くモードを表す文字列値を渡して、
関連トピック