Show Menu
主题×

服务容器

位于服务容器中的AEM Forms服务(包括标准服务,如加密服务、长期和短期进程)可以使用各种提供程序(如EJB提供程序)调用。 EJB提供程序允许通过RMI/IIOP调用AEM Forms服务。 Web服务提供者使用SOAP/HTTP和SOAP/JMS等标准将服务公开为Web服务(WSDL生成)。
下表介绍了以编程方式调用AEM Forms服务的不同方式。
调用方法
描述
远程集成
远程集成使Flex客户端能够调用服务操作。 (请参 阅使用(AEM表单已弃用)AEM Forms Remoting调用AEM Forms 。)
Java API
Java API可以调用AEM Forms服务。 Java API被组织到客户端库和Java调用API中。 (请参 阅使用Java API调用AEM表单 。)
Web服务
AEM Forms支持SOAP/HTTP等Web服务标准。 服务可以作为Web服务公开,WSDL符合W3C定义的Web服务标准。
可以从任何Web服务堆栈(包括。NET Framework和Sun™ Web Services SDK)中调用服务。 (请参 阅使用Web服务调用AEM表单 。)
REST请求
AEM Forms支持REST请求。 可以从HTML页面直接调用服务。 (请参 阅使用REST请求调用AEM表单 。)
下图直观地显示了以编程方式调用AEM Forms服务的不同方式。
除了使用AEM Forms SDK创建可调用AEM Forms服务的客户端应用程序外,您还可以创建可部署到服务容器的组件。 例如,您可以创建一个银行组件,其中包含可在流程中使用的自定义数据类型。 即,您可以创建数据类型,如 com.adobe.idp.BankAccount 。 然后,您可以在客 com.adobe.idp.BankAccount 户端应用程序中创建实例。
服务容器提供以下功能:
  • 允许使用不同的方法调用AEM Forms服务。 可以通过设置端点来配置服务,以便使用所有方法调用它:远程处理、Java API、Web服务和REST。 (请参阅以 编程方式管理端点 。)
  • 将消息转换为称为调用请求的标准化格式。 从客户端应用程序(或其他服务)向位于服务容器中的服务发送调用请求。 调用请求包含诸如要调用的服务的名称和执行操作所需的数据值等信息。 许多服务都需要文档才能执行操作。 因此,调用请求通常包含一个文档,它可以是PDF数据、XDP数据、XML数据等。
  • 将调用请求路由到相应的服务(要调用的服务的名称是调用请求的一部分)。
  • 执行诸如确定调用者是否具有调用指定服务操作的权限之类的任务。 调用请求必须包含有效的AEM表单用户名和密码。
    向服务发送调用请求有不同的方法。 此外,向服务发送所需输入值的方法也不同。 例如,假定您使用Java API调用需要PDF文档的服务。 相应的Java方法包含一个接受PDF文档的参数。 在这种情况下,参数的数据类型为 com.adobe.idp.Document 。 (请参 阅使用Java API将数据传递到AEM Forms服务 。)
    如果使用监视文件夹调用服务,则在将文件放入已配置的监视文件夹中时,将发送调用请求。 如果使用电子邮件调用服务,则当电子邮件到达配置的收件箱时,将向服务发送调用请求。
    一旦执行操作,服务容器就发送回调用响应。 调用响应包含诸如操作结果等信息。 例如,如果操作修改PDF文档,则调用响应将包含修改后的PDF文档。 如果操作失败,则调用响应将包含一条错误消息。
    可以以发送调用请求的相同方式检索调用响应。 即,如果调用请求是使用Java API发送的,则可以使用Java API检索调用响应。 例如,假设某个操作修改了PDF文档。 您可以通过获取调用该服务的Java方法的返回值来检索修改后的PDF文档。
    当调用长寿命进程时,调用响应包含与调用请求相关联的标识符值。 使用此标识符值,您可以在以后检查进程的状态。 例如,请考虑MortgageLoan长期服务。 使用标识符值,您可以检查以确定该过程是否成功完成。 (请参 阅调用以人为中心的长寿命流程 。)
    下图显示了调用服务的客户端应用程序(使用Java API)。
    当客户端应用程序调用服务时,会发生三个事件:
    1. 客户端应用程序向服务发送调用请求。
    2. 服务执行在调用请求中指定的操作。
    3. 服务容器返回对客户端应用程序的调用响应。
另请参阅