科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道针对 WebSphere Process Server 的 Web 服务客户端编程

针对 WebSphere Process Server 的 Web 服务客户端编程

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

了解如何使用 SOAP/HTTP 和 SOAP/JMS 从外部 WebSphere® 服务器组合 Web 服务客户端,以便通过用于应用程序开发的 WebSphere Integration Developer 与 IBM® WebSphere Process Server Version 6.0.1 进行交互。

作者:ibm 来源:ibm 2007年10月8日

关键字: WEBSPHERE web 技术 中间件

  • 评论
  • 分享微博
  • 分享邮件

引言

面向服务的体系结构 (SOA) 允许服务客户端以一致、灵活的方式调用服务提供程序。WebSphere Process Server(以下称为 Process Server)集成平台使用 WebSphere Application Server(以下称为 Application Server)来利用 Java™ 2 Enterprise Edition (J2EE) 基础结构以解决复杂的集成难题。Process Server 和 WebSphere Integration Developer(以下称为 Integration Developer)一起开发提供了一组全面的功能,用于设计、实现和部署集成解决方案。

在本文中,我们将探讨 Process Server 环境中的 Web 服务绑定。我们将介绍承载于 Process Server 的 Web 服务如何以 SOAP/HTTP 和 SOAP/JMS 的方式公开。还将介绍如何通过在远程非 Process Server 环境中安装的客户端应用程序来调用这些 Process Server 应用程序。

首先,我们将介绍由 Process Server 用来促进使客户端与服务之间的通信的运行时,以使您对其有基本的了解。接下来,我们将简单讨论如何使用业务对象以便在 Process Server 内表示数据。最后,我们将对一个简单订单处理用例进行分析,并说明如何使用 SOAP/HTTP 和 SOAP/JMS Web 服务绑定来公开应用程序组件。

在所列举的示例中,我们将使用下列非 Process Server 客户端环境开发应用程序并配置远程 Web 服务客户端的服务器:

  • WebSphere Application Server 6.0.2
  • WebSphere Application Server 5.1.1

完成本文后,您应该基本了解 Process Server、服务组件体系结构编程模型、从非 Process Server 环境中调用 Process Server 应用程序组件(使用 Web 服务绑定)所需要执行的操作。





回页首


服务组件体系结构

服务组件体系结构 (SCA) 是用于在 Process Server 中提供 SOA 功能的运行时。SCA 运行时提供了一个抽象层,从而使集成开发人员免于处理底层基础结构细节。在此部分中,我们将描述 SCA 的一些基本概念,这对于理解在我们的示例中使用的 SCA 客户端编程模型非常必要。有关 SCA 的详细信息,请参见 Business Process Management Version 6.0 Information Center

服务模块的导入和导出

在 SCA 中,服务模块 表示 SCA 服务的部署单元。服务模块是自包含的逻辑单元,可充当独立的集成解决方案或作为复杂集成解决方案的一部分。一个或多个服务组件可以组合在一个服务模块内,使用引用将服务组件链接到其他服务组件或服务导入。导出针对外部客户端的调用而公开由服务模块提供的服务。服务绑定将提供有关服务导入和导出的详细信息。图 1 概要显示了组件级的导入和导出绑定。


图 1. 带有导入和导出绑定的组件
带有导入和导出绑定的组件

服务组件体系结构的绑定

服务绑定用于导入和导出,以隔离客户端调用服务所需要的基础结构细节。现在,您已经能够在服务模块内组装 SCA 组件,同时使用所需的业务逻辑来满足集成要求。然而,绑定专门用于将基础结构细节与集成逻辑分离开来。SCA 提供了许多绑定选项:

  • SCA 绑定——SCA 绑定通常用于模块到模块的调用。它们几乎不需要进行配置,它们根据客户端的调用样式(同步、异步等等)来使用不同的传输方法。
  • JMS 绑定——Java 消息传递服务 (JMS) 绑定使服务组件可以通过 JMS 进行访问。JMS 绑定包含诸如队列和所需的连接工厂信息之类的内容。
  • Web 服务绑定——Web 服务绑定描述如何能够使用通用 Web 服务调用技术来调用服务组件。可以使用以下传输方法之一来公开 Process Server 中的 Web 服务绑定:SOAP/HTTP 和 SOAP/JMS。Web 服务绑定是最简单的绑定类型,而且还是与想要调用 Web 服务的客户端最兼容的绑定类型。由于 Web 服务基于标准协议运行而不是特定于应用程序,因此它们比 SCA 和 JMS 更具兼容性。然而,正因为其简单易用而且具有高的兼容性,SCA 和 JMS 绑定类型中的高级功能正是它们所欠缺的。

    Web 服务导出绑定将对外部客户端公开。Web 服务导入绑定调用其他模块中或 Process Server 外的其他环境中的外部 Web 服务。

本文的示例完全集中于 Web 服务绑定。

业务对象

SOA 基础结构的最后一部分是业务对象。既然您对 SCA 以及如何查找和调用服务有一定的了解,您就需要了解调用中使用的数据是如何表示的。Process Server 将针对此目的使用业务对象。业务对象是服务数据对象 (SDO) 规范(由 IBM 和 BEA Systems 发布)的实现,以提供数据和数据访问的简化视图。





回页首


订单处理用例

既然您理解我们的集成场景的构造块(sCA 和业务对象),就让我们更详细地介绍我们的用例的要求。为了针对我们的讨论和示例提供参考框架,这些构件将基于简单订单处理用例。订单处理服务承载于 Process Server。要提交订单的客户端会向该远程服务发出请求,如图 2 所示。


图 2. 客户端调用 Process Server 组件
客户端调用 Process Server 组件

为了保持一致性,各种服务器配置上的所有客户端都将调用相同的 Process Server 订单处理模块。

订单由包含许多简单类型属性和一个订单行式项目数组的业务对象表示,如图 3 所示。


图 3. 订单处理业务对象
订单处理业务对象

我们混合了各种常见类型以演示各种可能的数据类型。请记住,这并不是唯一的数据类型列表,但您可以使用该示例并扩展该示例以满足您特定的需求。

订单处理服务提供了以下两项 Web 服务描述语言 (WSDL) 操作以提交订单:

  • 单向操作,此项操作接受订单作为输入。
  • 请求-响应操作,此项操作接收订单作为输入并返回订单作为输出。


图 4. 订单处理的 WSDL 操作
订单处理的 WSDL 操作

示例订单模块包含 OrderProcessing Java 组件。Java 组件在调用单向操作时打印入站订单的值。

************ Order Processing (OneWay) service invoked from client *********
<?xml version="1.0" encoding="UTF-8"?>
<order:Order xsi:type="order:Order" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:order="http://OrderProcessing">
  <orderId>orderId</orderId>
  <customerId>customerId</customerId>
  <orderDate>2002-01-01Z</orderDate>
  <orderStatus>submitted</orderStatus>
  <totalPrice>124.0</totalPrice>
  <orderLineItems>
    <orderId>orderId</orderId>
    <itemId>ItemId</itemId>
    <quantity>100</quantity>
    <orderDate>2002-01-01Z</orderDate>
    <orderLineStatus>submited</orderLineStatus>
    <price>24.0</price>
  </orderLineItems>
  <orderLineItems>
    <orderId>orderId</orderId>
    <itemId>itemId</itemId>
    <quantity>22</quantity>
    <orderDate>2002-01-01Z</orderDate>
    <orderLineStatus>backorder</orderLineStatus>
    <price>100.0</price>
  </orderLineItems>
</order:Order>

在调用请求-响应操作时,Java 组件将更新订单和订单行式项目业务对象上的 orderIdorderStatus 属性,打印产生的业务对象,并将结果返回到客户端。

************ Order Processing (RequestResponse) service invoked from client *********
************ retrieve the order line array *********
************ 0 *********
************ 1 *********
************ returning order to client *********
<?xml version="1.0" encoding="UTF-8"?>
<order:Order xsi:type="order:Order"
	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	 xmlns:order="http://OrderProcessing">
  <orderId>123-abc</orderId>
  <customerId>customerId</customerId>
  <orderDate>2002-01-01Z</orderDate>
  <orderStatus>submitted</orderStatus>
  <totalPrice>124.0</totalPrice>
  <orderLineItems>
    <orderId>orderId</orderId>
    <itemId>ItemId</itemId>
    <quantity>100</quantity>
    <orderDate>2002-01-01Z</orderDate>
    <orderLineStatus>submitted</orderLineStatus>
    <price>24.0</price>
  </orderLineItems>
  <orderLineItems>
    <orderId>orderId</orderId>
    <itemId>itemId</itemId>
    <quantity>22</quantity>
    <orderDate>2002-01-01Z</orderDate>
    <orderLineStatus>submitted</orderLineStatus>
    <price>100.0</price>
  </orderLineItems>
</order:Order>
			

图 5 显示了 Integration Developer Assembly Editor 中的订单处理服务。


图 5. 订单处理组装关系图
订单处理组装关系图

在此场景中,您实际上具有两个 SCA 模块:一个非 Process Server 客户端模块和一个承载于 Process Server 的服务模块。





回页首


安装并运行 Web 服务示例

现在您已经可以安装并运行订单处理示例。您必须已经安装并启动了 Process Server。

基本步骤有:

  1. Web 客户端使用生成的 Java 代理,该代理为 Web 服务提供了远程过程调用接口。
  2. 在 Process Server 上运行的 Web 服务引擎接收请求,并调用 Process Server 应用程序,该应用程序将公开 Web 服务导出绑定类型。可通过 SOAP/HTTP 或 SOAP/JMS 来调用 Web 服务导出绑定。我们将显示分别使用这两种 Web 服务调用方法的示例。


图 6. 订单处理 Web 服务导出
订单处理 Web 服务导出

当在 Integration Developer 中创建 Web 服务导出绑定时,将会在 Process Server 环境内创建一个 .export 文件和一个导出 .wsdl 文件。该导出 .wsdl 将导入在绑定到导出的组件中定义的接口 WSDL。然后,该接口 WSDL 将导入任何相关的 XSD,用于在 WSDL 类型内定义数据类型。导出 .wsdl 将向 Web 服务客户端公开,并且必须与任何其他相关的 WSDL 和 XSD 一起包括在客户端应用程序内。

您可以将该客户端应用程序部署到支持调用远程 Web 服务的任何服务器中。然而,您必须将服务器应用程序中的某些构件包括在客户端内。您可以在包含 Web 服务应用程序的同一 Process Server 实例上安装客户端。然而,由于 Web 服务在远程调用环境中更实用,因此,该客户端安装在实际环境中并不是很实用。大多数情况下,调用远程订单处理 Web 服务的客户端会安装在与 Web 服务不同的环境中。我们将使用安装在 Application Server 5.1.2 和 6.0.2 上的远程客户端来测试此配置。

该客户端包将包含以下文件:

  1. 一个包含服务和绑定细节的 WSDL 文件。
  2. 一个包含 Web 服务的 portType 的 WSDL 文件。
  3. 多个支持接口中使用的业务对象的 XSD 文件。

在 Process Server 上安装订单处理服务

通过以下方式将 OrderProcessApp.EAR 部署到 Process Server:使用 WebSphere Integrated Test Environment,或者导出为 EAR 并通过管理控制台进行安装。如果使用管理控制台进行安装,则启动该应用程序。该应用程序现在已经可以接受 Web 服务调用了。

使用 Application Server V6.0.2 来构建和测试 SOAP/JMS 客户端

如果将 SOAP/JMS 与远程 Web 服务客户端一起使用,则必须使用管理控制台在 Application Server 6.0.2 上进行以下一些额外配置:

  1. 配置 Application Server 以调用安装在 Process Server 上的远程 SOAP/JMS Web 服务。
  2. 使用 Application Server 6.0.2 服务器上的消息传递引擎来创建总线,以使 SOAP/JMS 远程 Web 服务调用可以正常工作:
    1. 在 Application Server 6.0.2 服务器的管理控制台中,选择 Service Integration – Buses
    2. 选择 New
    3. 提供总线名称。该名称应该与 Process Server 环境中使用的总线名称不同。
    4. 让其他字段保留缺省设置,然后单击 OKSave
    5. 现在,选择刚刚创建的总线。在 Additional Properties 下,选择 Bus members
    6. 添加总线成员。由于这是单个服务器环境,因此您可以接受缺省设置。单击 OK,然后单击 Save。添加总线成员时,还将创建消息传递引擎。该消息传递引擎名称与总线名称类似。
    7. 保存任何未保存的更改后,重新启动 Application Server。如果您正确创建了总线,您将会看到一个带有总线成员和消息传递引擎的总线。

现在,您需要使用 Application Server V6.0.2 来构建客户端应用程序。一旦构建了该应用程序,就将该应用程序部署到 Integration Developer 中基于 Application Server 6.0.2 的集成测试环境中。

  1. 在 Integration Developer 中,请确保您已将 Application Server 6.0.2 服务器添加到测试环境中,因为您将在 Application Server 6.0.2 上部署应用程序,而不是在 Process Server 上。
  2. 创建一个新的 Dynamic Web Project
  3. 将文件导入到 Web 项目中。
  4. 从 Resource 透视图中,展开 WebContent 文件夹并将所需的文件从 Process Server 应用程序复制到 Web 项目。来自 Process Server 应用程序的所需文件通常是导出 .wsdl 文件、接口 .wsdl 文件,以及在 WSDL 定义中使用的任何 .xsd 文件。在大多数情况下,您可以将 wsdl 文件夹从 Process Server 应用程序复制到客户端 Web 项目,如图 7 所示。对于订单处理应用程序,相关的构件有:Order.xsd、OrderLineItem.xsd、OrderProcessingExport_processOrderHttp_Service.wsdl 和 processOrder.wsdl。您还需要复制包含 http.OrderProcessing.xsd 文件的 xsd-includes 文件夹。

    图 7. Web 客户端文件结构
    Web 客户端文件结构

  5. 打开 OrderProcessingExport_processOrderHttp_Service.wsdl 并更改 addresslocation 属性以使用远程 Web 服务应用程序的实际主机名。缺省情况下,该名称是 localhost,因为导出 .wsdl 最初是在生成 Web 服务导出绑定时在 Process Server 应用程序内创建的。当该文件移动到远程客户端应用程序时,将需要更改主机名以反映 Web 服务的真实位置。
  6. 重新构建项目并确保没有错误。您可能会遇到一些 WS-I 遵从性警告。这些是不相关的,并不会妨碍应用程序的性能。
  7. 生成 Web 服务客户端 Java 代理。
  8. 从菜单中选择 File => New => Other。展开 Web Services 并选择 Web Service Client。单击 Next
  9. 选择 Java proxy。并且选中 Test the Web service,此操作将生成一些调用您的 Java 代理的 JSP 页面。单击 Next

    图 8. Web 服务客户端代理
    Web 服务客户端代理

  10. 指定导出 WSDL OrderProcessingExport_processOrderHttp_Service.wsdl 作为 Web 服务,然后单击 Next

    图 9. Web 服务客户端导出
    Web 服务客户端导出

  11. 指定客户端环境规范。缺省情况下,Client 项目和 EAR 项目将处于选中状态,因此,您可以保留这些缺省设置。单击 Next

    图 10. 客户端环境设置
    客户端环境设置

  12. 由于我们选择生成 Web 代理,因此,请保留 Web 服务代理页面上的缺省值并单击 Finish

    图 11. Web 服务代理


  13. 将生成 Java 代理代码。您可能会遇到下列警告。单击 Yes

    图 12. 文件覆盖警告
    文件覆盖警告

  14. 创建 Java 代理代码后,您可以选择创建 JSP 代码来测试客户端应用程序。该步骤纯粹是可选的,并且将仅用于测试目的。利用生成的 JSP 代码,您可以测试方法以确保这些方法可以正常工作,但不太可能将 JSP 代码用于实际解决方案中,因为用户界面尚不完整。

    此外,用于生成 JSP 代码的工具无法处理数组。对于订单处理应用程序,这意味着所生成的用于测试 Java 代理的 JSP 表单将不具有 OrderLineItems 的输入字段。您将需要自定义 JSP 代码以处理 OrderLineItems。

    该问题仅涉及 JSP 代码生成的情况,并不涉及从导出 WSDL 中生成的 Java 代理代码。也就是说,Java 代理代码的确包含用于处理业务对象数组的方法。因此,该问题仅存在于 JSP 测试客户端。由于该 JSP 代码用于测试并且不太可能用于生产环境中,因此,该问题的影响不大。



    图 13. 测试 Web 服务客户端
    测试 Web 服务客户端

  15. 创建 JSP 客户端后,Web 浏览器将会在 Integration Developer 中显示,您可以从该浏览器中测试远程 Web 服务。该应用程序应自动安装到 Application Server 6.0.2 服务器实例的集成测试环境中。您也可以导出 EAR 并使用管理控制台将其安装到 Application Server。
  16. 一旦您已经验证远程 Web 服务将有效的响应发送回客户端应用程序,您就可以开发符合您的需求的自定义 JSP 应用程序。除非远程 WSDL 或 XSD 文件的规范有更改,否则就不需要修改或重新创建 Java 代理代码。

使用 Application Server V5.1.2 来构建和测试 SOAP/HTTP 客户端

使用 Application Server V5.1.2 来构建客户端应用程序。一旦构建了该应用程序,就将该应用程序部署到 WebSphere Studio Application Developer(以下称为 Application Developer)中的 Test Environment 服务器:

  1. 创建一个新的 Dynamic Web Project。
  2. 将文件导入到 Web 项目中,如图 14 所示。

    图 14. Web 服务客户端的文件结构
    Web 服务客户端的文件结构

  3. 您需要更改一些文件以避免在生成代理时出现错误。用于生成代理的向导预期 XSD 和 WSDL 文件位于同一文件夹中并且在同一级别上。
    1. 将 http.OrderProcessing.xsd 上移一个级别,移至 wsdl 文件夹中,然后删除 xsd-includes 文件夹。如果您不执行此操作,则会在稍后尝试生成代理时遇到错误。
    2. 在文本编辑器中打开 http.OrderProcessing.xsd 并更改 schemaLocation 值以反映文件的新位置,如图 15 所示:

      图 15. 更改 http.OrderProcessing.xsd 文件中的 schemaLocation 路径
      更改 http.OrderProcessing.xsd 文件中的 schemaLocation 路径

    3. 在文本编辑器中打开 processOrder.wsdl 并更改 schemaLocation 值以反映新位置,如图 16 所示:

      图 16. 更改 WSDL 接口文件中的 schemaLocation
      更改 WSDL 接口文件中的 schemaLocation

    4. 打开 OrderProcessingExport_processOrderHttp_Service.wsdl 文件并更改地址信息以使用您要调用的远程 Process Server Web 服务的实际主机名。缺省情况下,该主机名为 localhost。
    5. 重新构建项目并确保没有错误。您可能会遇到下列警告,您可以忽略它们:

      图 17. WS-I 遵从性警告列表
      WS-I 遵从性警告列表

  4. 接下来,生成 Web 服务客户端 Java 代理。
    1. 从菜单中选择 File => New => Other
    2. 在 New 向导中,从左边的树中选择 Web Services,然后从右边的表中选择 Web Service Client
    3. 单击 Next 并选择 Java Proxy。选中 Test the generated proxy 以生成调用您的 Java 代理的一些 JSP 页面。
    4. 单击 Next 并确保 Web 和 EAR 项目处于选中状态。
    5. 单击 Next。指定服务 WSDL OrderProcessingExport_processOrderHttp_Service.wsdl 作为 Web 服务。
    6. 单击 Finish。您将会遇到下列警告消息:

      图 18. 针对数组处理的警告
      针对数组处理的警告

      该工具无法处理 OrderLineItem 数组。这意味着所生成的用于测试 Java 代理的 JSP 表单将不具有 OrderLineItems 的输入字段。您可以手动编辑 JSP 以处理数组;然而,并不需要针对该示例进行编辑。单击 OK。该向导在启动服务器并发布应用程序之后才会关闭。

  5. 如果您查看 Tasks 视图,则会注意到下列错误:

    图 19. 在构建项目的过程中出现的错误
    在构建项目的过程中出现的错误

    这些错误中的大部分都是由于该工具无法将业务对象 xsd 文件复制到 WEB-INF 文件夹而导致的。将 Order.xsd 和 OrderLineItem.xsd 复制到 WEB-INF/wsdl 文件夹中并重新构建项目,以便消除这些错误中的大部分错误,如图 20 所示:



    图 20. 将 XSD 文件复制到 WEB-INF 文件夹中
    将 XSD 文件复制到 WEB-INF 文件夹中

    在重新构建项目之后,下列错误可能仍然存在:



    图 21. 构建过程中仍然存在的错误
    构建过程中仍然存在的错误

  6. 如果您在 Integration Developer 中导出的接口的名称的首字母为大写形式,则不会遇到这些错误。为了消除错误,请打开 ProcessOrderProxy.java 并更改任何类/方法引用,以便在出现“processOrder”的地方使用大写字母“P”。该示例有四处需要更改。保存文件,但不要关闭文件。您现在应该看到 Tasks 视图中没有任何错误。
  7. 现在,您可以调用 JSP,JSP 将调用 Java 代理,而 Java 代理将调用 Process Server 上运行的 Web 服务。右键单击 MyWebProject => WebContent => sample => ProcessOrderProxy => TestClient.jsp 并从菜单中选择 Run on Server

使用 Application Server V6.0.2 来构建和测试 SOAP/JMS 客户端

在 Application Server V6.0.2 中创建 SOAP/JMS 客户端的方法与创建 SOAP/HTTP 客户端非常类似。正如前面所提到的,您必须配置 Process Server 以支持 SOAP/JMS。您还必须完成下列用于配置客户端的步骤:

  1. 在 Integration Developer 中,请确保您已将 Application Server V6.0.2 服务器添加到您的测试环境中,因为您将在 Application Server 6.0.2 上部署应用程序,而不是在 Process Server 上。
  2. 创建一个新的 Dynamic Web Project。
  3. 将文件导入到 Web 项目中。
  4. 从 Resource 透视图中,展开 WebContent 文件夹并将所需的文件从 Process Server 应用程序复制到 Web 项目。来自 Process Server 应用程序的所需文件通常是导出 .wsdl 文件、接口 .wsdl 文件,以及在 WSDL 定义中使用的任何 .xsd 文件。您通常可以将 wsdl 文件夹从 Process Server 应用程序复制到客户端 Web 项目。对于订单处理应用程序,相关的构件有:Order.xsd、OrderLineItem.xsd、OrderProcessingExport_processOrderJms_Service.wsdl 和 processOrder.wsdl。您还需要复制包含 http.OrderProcessing.xsd 文件的 xsd-includes 文件夹。
  5. 使用文本编辑器打开 OrderProcessingExport_processOrderJms_Service.wsdl。将 jndiProviderURL 字段添加到 addresslocation。jndiProviderURL 字段使用其引导地址端口(缺省情况下为 2809)指定远程 JMS 提供程序。例如,jndiProviderURL 可能与 iiop://gbeers.rchland.ibm.com:2809/ 类似。请注意,jndiProviderURL 属性以“&”分隔。
    <soap:address location="jms:/queue?destination=jms/OrderProcExport&
    connectionFactory=jms/OrderProcExportQCF&
    targetService=OrderProcExport_processOrderJMSPort&
    jndiProviderURL=iiop://gbeers:2809/"/>
    

  6. 重新构建项目并确保没有错误。您可能会遇到一些 WS-I 遵从性警告,您可以忽略它们。这些是不相关的,并不会影响应用程序的性能。
  7. 生成 Web 服务客户端 Java 代理:
    1. 从菜单中选择 File => New => Other。展开 Web Services 并选择 Web Service Client。单击 Next
    2. 选择 Java proxy。选中 Test the Web service 以生成调用您的 Java 代理的一些 JSP 页面。单击 Next
    3. 指定导出 WSDL OrderProcessingExport_processOrderJms_Service.wsdl 作为 Web 服务。单击 Next
    4. 指定客户端环境规范。缺省情况下,Client 项目和 EAR 项目应处于选中状态,因此,您可能保留这些缺省设置。单击 Next
    5. 由于您先前选择生成 Web 代理,因此,请保留 Web 服务代理页面上的缺省值并单击 Finish
    6. 将生成 Java 代理代码。如果您遇到向您通知路径链接问题的警告,则单击 Yes
  8. 和处理 SOAP/HTTP 一样,您可以生成 JSP 测试代理以测试 Web 服务调用。

用于生成 JSP 代码的工具无法处理数组。在订单处理应用程序中,这意味着所生成的用于测试 Java 代理的 JSP 表单将不具有 OrderLineItems 的输入字段。您将需要自定义 JSP 代码以处理 OrderLineItems。

该问题仅涉及 JSP 代码生成的情况,并不涉及从导出 WSDL 中生成的 Java 代理代码,Java 代理代码的确包含用于处理业务对象数组的方法。因此,该问题仅存在于 JSP 测试客户端。由于该 JSP 代码用于测试并且不太可能用于生产环境中,因此,该问题的影响不大。





回页首


结束语

在本文中,您已了解 SCA 运行时和客户端编程模型的灵活性如何允许 Web 服务客户端调用 Process Server 服务。您可以基于您独特的业务需求从客户端编程的许多选项中进行选择:交互样式、操作类型和绑定类型(仅举几个例子)。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章