将支持 Web Service 的客户机 JAR 文件组装到 EAR 文件中
在生成应用程序工件后,您需要组装这些工件以创建在 Web Service 应用程序中使用的企业归档 (EAR) 文件。
开始之前
对于 Java™ API for XML-Based Web Services (JAX-WS) Web Service 应用程序,您需要可移植工件才能完成本任务,这些工件由 wsimport 命令行工具从 WSDL 文件启动时生成。wsimport 工具将 WSDL 文件处理为输入并生成下列可移植工件:
- 服务端点接口 (SEI)
- 服务类
- 异常类(从任何存在的 wsdl:fault 类映射)
- Java XML 绑定体系结构 (JAXB) 生成的类型值,它们是从 XML 模式类型映射的 Java 类
- 包含实现的组装客户机模块、wsimport 命令行工具生成的所有类和 ejb-jar.xml 部署描述符或 application-client.xml 部署描述符。此模块可以是:
- 包含 META-INF/application-client.xml 文件的应用程序客户机模块。
- 包含 META-INF/ejb-jar.xml 文件的 Enterprise JavaBeans (EJB) 模块。
对于Java API for XML-based RPC (JAX-RPC) Web Service 应用程序,需要从 WSDL2Java 命令行工具生成的以下工件才能完成本任务:
- 包含实现的组装客户机模块、WSDL2Java 命令行工具生成的所有类和 ejb-jar.xml 部署描述符或 application-client.xml 部署描述符。此模块可以是:
- 包含 META-INF/application-client.xml 文件的应用程序客户机模块。
- 包含 META-INF/ejb-jar.xml 文件的 Enterprise JavaBeans (EJB) 模块。
- 您用于开发客户机的 WSDL 文件。
- ibm-webservicesclient-ext.xmi 和 ibm-webservicesclient-bnd.xmi 部署描述符的模板(如果使用)。
- 生成的 Java API for XML-based remote procedure call (JAX-RPC) 映射部署描述符。
限制: 在应用程序归档中打包的文件名不能包含井号 (#)。由于内部处理问题,当应用程序归档中的文件名包含井号时,应用程序服务器无法正确部署应用程序。发生这种故障时,如果处理应用程序,可能会发生异常。而且,在部署应用程序后,应用程序的某些部分可能会丢失。要解决此问题,请重命名应用程序归档中的任何文件名,以使其不包含井号。
关于此任务
可以使用与 WebSphere® Application Server 包含在一起的组装工具来组装支持 Web Service 的客户机应用程序。
用提供的步骤组装允许应用程序客户机访问 Web Service 的客户机代码和工件:
过程
- 启动组装工具。 请参阅 Rational® Application Developer 文档中关于启动组装工具的信息。
- 如果尚未完成,请配置组装工具使它在 Java EE 模块上工作。需要确保启用了 Java EE 和 Web 类别。 请参阅 Rational Application Developer 文档中关于配置组装工具的信息。
- 将由命令行工具生成的客户机实现和工件导入至组装工具。
- 迁移使用 Rational Application Developer 组装工具创建的 JAR 文件。要迁移这些文件,请将 JAR 文件导入组装工具。请参阅 Rational Application Developer 文档中关于将代码工件迁移至组装工具的信息。
- 如果客户机在容器中运行,请使用典型组装技术将 JAR 文件组装到企业归档 (EAR) 文件中。
结果
示例
此组装过程示例使用 AddressBookClient.jar JAR 文件和 AddressBookClient.ear EAR 文件:
META-INF/MANIFEST.MF
META-INF/application-client.xml
META-INF/wsdl/AddressBook.wsdl
META-INF/AddressBook_mapping.xml
com/ibm/websphere/samples/webservices/addr/Address.class
com/ibm/websphere/samples/webservices/addr/AddressBook.class
com/ibm/websphere/samples/webservices/addr/AddressBookClient.class
com/ibm/websphere/samples/webservices/addr/AddressBookService.class
...other generated classes...
组装 AddressBookClient.jar 文件到 AddressBookClient.ear 文件后,AddressBookClient.ear 文件包含下列文件:
META-INF/MANIFEST.MF
AddressBookClient.jar
META-INF/application.xml
下一步做什么
对于 Java API for XML-Based Web Services (JAX-WS) 应用程序,您已准备好部署 Web Service 客户机应用程序。
对于 Java API for XML-based RPC (JAX-RPC) 应用程序,需要使用组装工具配置客户机部署描述符绑定,这样客户机才能与部署在服务器上的 Web Service 进行通信。