将支持 Web Service 的客户机 JAR 文件组装到 EAR 文件中
在生成应用程序工件后,您需要组装这些工件以创建在 Web Service 应用程序中使用的企业归档 (EAR) 文件。 将支持 Web 服务的客户端 JAR 文件组装到 EAR 文件中,使应用程序客户端能够访问 Web 服务。
准备工作
对于基于 XML 的 Web 服务的 Java™ API (JAX-WS) Web 服务应用程序,您需要由wsimport从 WSDL 文件启动时使用命令行工具来完成此任务。 wsimport 工具将 WSDL 文件处理为输入并生成下列可移植工件:
- 服务端点接口 (SEI)
- 服务类
- 异常类(从任何存在的
wsdl:fault类映射) - Java XML 绑定体系结构 (JAXB) 生成的类型值是从 XML 模式类型映射的 Java 类
- 包含实现的组装客户机模块、wsimport 命令行工具生成的所有类和 ejb-jar.xml 部署描述符或 application-client.xml 部署描述符。 此模块可以是:
- 包含 META-INF/application-client.xml 文件的应用程序客户机模块。
- 一家企业JavaBeans (EJB)模块包含META-INF/ejb-jar.xml文件。
对于基于 XML 的 RPC (JAX-RPC) Web 服务应用程序的 Java API,您需要从WSDL2Java命令行工具来完成这个任务:
- 包含实现的组装客户机模块、WSDL2Java 命令行工具生成的所有类和 ejb-jar.xml 部署描述符或 application-client.xml 部署描述符。 此模块可以是:
- 包含 META-INF/application-client.xml 文件的应用程序客户机模块。
- 一家企业JavaBeans (EJB)模块包含META-INF/ejb-jar.xml文件。
- 您用于开发客户机的 WSDL 文件。
- ibm-webservicesclient-ext.xmi 和 ibm-webservicesclient-bnd.xmi 部署描述符的模板(如果使用)。
- 为基于 XML 的远程过程调用 (JAX-RPC) 映射部署描述符生成的 Java API。
限制:不要在应用程序存档中打包的文件的名称中包含井号 (#)。 由于内部处理问题,当应用程序归档中的文件名包含井号时,应用程序服务器无法正确部署应用程序。 发生这种故障时,如果处理应用程序,可能会发生异常。 而且,在部署应用程序后,应用程序的某些部分可能会丢失。 要解决此问题,请重命名应用程序归档中的任何文件名,以使其不包含井号。
有关此任务
您可以使用随附的组装工具WebSphere® Application Server组装支持 Web 服务的客户端应用程序。 如果你使用Rational® Application Developer对于组装,请参阅Rational Application Developer文档。
按照以下步骤组装客户端代码和工件,使应用程序客户端能够访问 Web 服务。
过程
- 启动组装工具。
- 如果尚未完成,请配置组装工具使它在 Java EE 模块上工作。 需要确保启用了 Java EE 和 Web 类别。
- 将由命令行工具生成的客户机实现和工件导入至组装工具。
- 迁移使用Rational Application Developer组装工具。 要迁移这些文件,请将 JAR 文件导入组装工具。
- 如果客户机在容器中运行,请使用典型组装技术将 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下一步做什么?
对于基于 XML 的 Web 服务的 Java API (JAX-WS) 应用程序,您已准备好部署 Web 服务客户端应用程序。
对于基于 XML 的 RPC (JAX-RPC) 应用程序的 Java API,您需要使用组装工具配置客户端部署描述符绑定,以便客户端可以与服务器上部署的 Web 服务进行通信。