科技行者

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

知识库

知识库 安全导航

至顶网软件频道部署 Java Web 服务2

部署 Java Web 服务2

  • 扫一扫
    分享文章到微信

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

在多个容器上部署 Java Web 服务可能会给开发人员带来一些问题。通过阅读本文,您可以了解若干部署描述符实现,并了解 Java 社区如何开始处理这个问题。

作者:James P. McCarthy 来源:IT专家网 2008年6月3日

关键字: 服务 web 部署 java

  • 评论
  • 分享微博
  • 分享邮件
J2EE 1.4 Web 服务

  为了构建标准 J2EE 1.4 Web 服务所需的构件,我们使用了 Java Web Service Developers Pack (JWSDP v1.5) 所提供的 wscompile 命令。wscompile 命令会创建 Web 服务描述语言(Web Service Description Language,WSDL)文件、Web 服务映射文件和实现文件,以便在 Web 服务和调用的应用程序之间进行封送处理。

  为了运行 wscompile 命令,您首先需要编写一个 XML 配置文件,在其中描述您希望 wscompile 执行的操作。在此示例中,我们希望处理我们的服务端点并创建实现所需的 XML 构件和序列化代码。下面是 wscompile 命令所需的配置文件的示例:

  清单 2. 示例配置文件

<?xml version="1.0" encoding="UTF-8"?>
 
<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
 <service name="StatsWS"
  targetNamespace="http://services.symmetrysolutions.com/stats"
  typeNamespace="http://types.symmetrysolutions.com/stats"
  packageName="com.symmetrysolutions.statsws">
   <interface name="com.symmetrysolutions.statsws.StatsService"
 servantName="com.symmetrysolutions.statsws.StatsServiceImpl"/>
 </service>
</configuration>

  在此配置文件中,我们使用 service 元素描述我们的 Web 服务。此元素告知 wscompile 命令以下内容:将与接口关联的命名空间以及与该接口关联的类型。除了命名空间外,service 元素还告知 wscompile 命令为生成的任何源代码使用的包名称以及其将自检的接口的名称。

  运行自动化工具并不是部署符合 J2EE 1.4 的 Web 服务的最后一步。根据所使用的 Web 应用程序容器的不同,最后的步骤将有所变化。无论在何种情况下,必须包含的最后一个 Web 服务部署构件都是 webservices.xml 文件。此文件告知 J2EE 1.4 应用程序容器在何处查找 Web 服务描述,以及将什么接口和实现类用于 Web 服务。

Axis Web 服务

  Axis Web 服务的构建过程与 J2EE 1.4 Web 服务不同,因为 Axis 具有自己的部署描述符。Axis Web 服务运行时需要 deploy.wsdd 文件提供的信息,以确定服务端点的名称和将其作为 Web 服务发布的方式。deploy.wsdd 文件将发送到 Axis 服务器,Axis 服务器将利用此信息对 Web 服务进行自检,并创建 Web 服务运行时所需的信息。注意:上述过程并不符合 J2EE 1.4 (部署构件),但符合 SOAP 1.1,因此 Axis Web 服务将能够与任何 Web 服务客户机进行互操作。

  要构建 Axis Web 服务部署描述符,可以手动进行,也可以使用 Axis WSDL2Java Ant 任务来处理 Web 服务的 WSDL。在我们的示例中,由于我们决定使用 Web 服务端点的接口,因此没有 WSDL 文件。幸运的是,Axis 还提供了一个 Ant 任务来处理接口并输出 WSDL 文件。因此,Axis 构建过程包含两个步骤,如下所述:

  •   使用 Java2WSDL 任务从接口创建 WSDL 文件。
  •   从 WSDL 创建 Web 服务框架(本文中将不使用)和部署描述符(将在本文中使用)。

  构建了 Axis Web 服务后,必须告知 Web 应用程序容器要部署的服务以及如何进行部署,以便进行部署。这是通过将 deploy.wsdd 文件传递给部署 Web 服务的 Axis 管理员任务来完成的。这意味着,在 Web 容器启动后,Axis Web 服务需要进行部署 Web 服务的步骤。有关详细信息,请参见 Tomcat 上的 Axis 部署部分。

  部署过程的描述

  创建了所需的全部 Web 服务部署描述符后,最后一步是在每个目标平台上部署应用程序。我们将说明为了部署 Web 服务而需要在每个目标 Web 应用程序平台上进行的最后步骤。

  IBM WebSphere 和 JBoss 4.0.4

  IBM WebSphere 和 JBoss 4.0 均符合 J2EE 1.4,可以使用 Java Web Services Developer Pack (JWSDP v1.5) 或类似工具来生成 JAX-RPC Web 服务构件。唯一还没有为部署生成的 Web 服务构件是 webservices.xml 文件,该文件描述如何将所有组件组合到一起。

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

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

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