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メンバーの値を取得できます。 - コンストラクターを呼び出し、ログファイルの場所とファイルを開くモードを表す文字列値を渡して、
関連トピック