WebサービスAPIを使用したDDXドキュメントの検証

Assembler Service API(Webサービス)を使用してDDXドキュメントを検証します。

  1. プロジェクトファイルを含めます。

    MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.

    メモ

    localhostをformsサーバーのIPアドレスに置き換えます。

  2. 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認証を有効にします。

      • AEM formsユーザー名をフィールドAssemblerServiceClient.ClientCredentials.UserName.UserNameに割り当てます。
      • 対応するパスワード値をフィールドAssemblerServiceClient.ClientCredentials.UserName.Passwordに割り当てます。
      • 定数値HttpClientCredentialType.BasicをフィールドBasicHttpBindingSecurity.Transport.ClientCredentialTypeに割り当てます。
      • 定数値BasicHttpSecurityMode.TransportCredentialOnlyをフィールドBasicHttpBindingSecurity.Security.Modeに割り当てます。
  3. 既存のDDXドキュメントの参照。

    • コンストラクタを使用して BLOB オブジェクトを作成します。BLOBオブジェクトは、DDXドキュメントの保存に使用されます。
    • コンストラクターを呼び出し、DDXドキュメントのファイルの場所と、ファイルを開くモードを表すstring値を渡して、System.IO.FileStreamオブジェクトを作成します。
    • System.IO.FileStreamオブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStreamオブジェクトのLengthプロパティを取得して、バイト配列のサイズを決定できます。
    • System.IO.FileStreamオブジェクトのReadメソッドを呼び出し、読み取るバイト配列、開始位置、ストリーム長を渡すことで、バイト配列にストリームデータを入力します。
    • BLOBオブジェクトにMTOMプロパティを割り当て、バイト配列の内容を指定します。
  4. DDXドキュメントを検証するための実行時オプションを設定します。

    • コンストラクターを使用して、実行時オプションを格納するAssemblerOptionSpecオブジェクトを作成します。
    • AssemblerOptionSpecオブジェクトのvalidateOnlyデータメンバーに値trueを割り当てることで、DDXドキュメントの検証をAssemblerサービスに指示する実行時オプションを設定します。
    • Assemblerサービスがログファイルに書き込む情報の量を設定するには、AssemblerOptionSpecオブジェクトのlogLevelデータメンバーに文字列値を割り当てます。 DDXドキュメントを検証する場合は、検証プロセスに役立つ詳細情報をログファイルに書き込む必要があります。 その結果、FINEまたはFINERの値を指定できます。 設定できる実行時オプションについて詳しくは、AEM FormsAPIリファレンスAssemblerOptionSpecクラス参照を参照してください。
  5. 検証を実行します。

    AssemblerServiceClientオブジェクトのinvokeDDXメソッドを呼び出し、次の値を渡します。

    • DDXドキュメントを表すBLOBオブジェクトです。
    • 通常PDFドキュメントを格納するMapオブジェクトの値nullです。
    • 実行時オプションを指定するAssemblerOptionSpecオブジェクト。

    invokeDDXメソッドは、DDXドキュメントが有効かどうかを指定する情報を含むAssemblerResultオブジェクトを返します。

  6. 検証結果をログファイルに保存します。

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

関連トピック

DDXドキュメントの検証

MTOMを使用したAEM Formsの呼び出し

このページ