使用Web服务API验证DDX文档

本文档中的示例和示例仅适用于JEE环境上的AEM Forms。

使用Assembler Service API(Web服务)验证DDX文档:

  1. 包括项目文件。

    创建使用MTOM的Microsoft .NET项目。 确保使用以下WSDL定义:http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1

    注意

    将localhost替换为表单服务器的IP地址。

  2. 创建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表单用户名。
      • 为字段AssemblerServiceClient.ClientCredentials.UserName.Password分配相应的密码值。
      • 将常量值HttpClientCredentialType.Basic赋给字段BasicHttpBindingSecurity.Transport.ClientCredentialType
      • 将常量值BasicHttpSecurityMode.TransportCredentialOnly赋给字段BasicHttpBindingSecurity.Security.Mode
  3. 引用现有DDX文档。

    • 使用BLOB对象的构造函数创建对象。 BLOB对象用于存储DDX文档。
    • 通过调用System.IO.FileStream对象的构造函数并传递一个字符串值,该字符串值表示DDX文档的文件位置以及在中打开文件的模式。
    • 创建一个字节数组,用于存储System.IO.FileStream对象的内容。 可以通过获取System.IO.FileStream对象的Length属性来确定字节数组的大小。
    • 通过调用System.IO.FileStream对象的Read方法并传递要读取的字节数组、开始位置和流长度,用流数据填充字节数组。
    • 通过将MTOM属性赋予字节数组的内容,填充BLOB对象。
  4. 设置运行时选项以验证DDX文档。

    • 使用AssemblerOptionSpec的构造函数创建存储运行时选项的对象。
    • 设置运行时选项,该选项指示Assembler服务通过将值true赋给AssemblerOptionSpec对象的validateOnly文档成员来验证DDX。
    • 通过为AssemblerOptionSpec对象的logLevel数据成员分配字符串值,设置Assembler服务写入日志文件的信息量。 方法验证DDX文档时,您希望将更多信息写入日志文件以协助验证过程。 因此,您可以指定值FINEFINER。 有关可以设置的运行时选项的信息,请参阅AEM Forms API Reference中的AssemblerOptionSpec类引用。
  5. 执行验证。

    调用AssemblerServiceClient对象的invokeDDX方法并传递以下值:

    • 表示DDX文档的BLOB对象。
    • 通常存储PDF文档的Map对象的值null
    • 指定运行时选项的AssemblerOptionSpec对象。

    invokeDDX方法返回一个AssemblerResult对象,该对象包含指定DDX文档是否有效的信息。

  6. 将验证结果保存在日志文件中。

    • 通过调用System.IO.FileStream对象的构造函数并传递一个字符串值来创建对象,该字符串值表示日志文件的文件位置以及在中打开文件的模式。 确保文件扩展名为.xml。
    • 创建一个BLOB对象,该对象通过获取AssemblerResult对象的jobLog数据成员的值来存储日志信息。
    • 创建一个字节数组,用于存储BLOB对象的内容。 通过获取BLOB对象的MTOM字段的值来填充字节数组。
    • 通过调用其构造函数并传递System.IO.FileStream对象,创建System.IO.BinaryWriter对象。
    • 通过调用System.IO.BinaryWriter对象的Write方法并传递字节数组,将字节数组的内容写入PDF文件。
    注意

    如果DDX文档无效,则引发OperationException。 在catch语句中,可以获取OperationException对象的jobLog成员的值。

另请参阅

验证DDX文档

使用MTOM调用AEM Forms

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now