为 Tomcat Web Server 上的 Web 服务编写 Ant 目标

另请参见

在 Tomcat Web Server 上使用 Web 服务时,建议您使用 Java Web Services Developer Pack 1.6 (JWSDP 1.6)。但是,符合 JWSDP 规范的 Tomcat Web Server 是基于 Tomcat Web Server 5.0.19 的。因此,如果要使用的 Tomcat Web Server 版本高于 5.0.19,则无法使用 JWSDP 1.6。在这种情况下,您需要在 IDE 中编写 Ant 目标(如下所述)。

准备使用 Ant 目标以在 Tomcat Web Server 上部署 Web 服务:

  1. $NB_HOME/ide8/modules/ext/jaxrpc16 中的所有 JAR 文件复制到 $NB_HOME/enterprise4/apache-tomcat-5.5.17/common/lib
  2. 确保已在 IDE 中注册 Sun Java System Application Server/GlassFish。
  3. 在“服务”窗口 (Ctrl-5) 中,展开“服务器”节点,右键单击 Tomcat Web Server 节点,然后选择“启动”。执行此操作将创建 full_path_to_$NB_USER_DIR/5.0/apache-tomcat-5.5.17_base 文件夹。在此文件夹中,将 conf/server.xml 文件中的 autoDeploy="false" 更改为 autoDeploy="true",以启用 Tomcat Web Server 的自动部署功能。右键单击 Tomcat Web Server 节点,然后选择“重新启动”,以使服务器可以装入更改。

创建 Web 服务或客户端文件:

  1. 创建一个 Web 应用程序项目。将 Sun Java System Application Server/GlassFish 设置为目标服务器。
  2. 执行以下某项操作:

编写 Ant 目标以在 Tomcat Web Server 上部署 Web 服务:

  1. 将以下目标添加到 build.xml 文件中,并将 full_path_to_$NB_USER_DIR 更改为完整路径,如 c:\.netbeans
    <target name="-pre-init">
      <property name="j2ee.platform.wscompile.classpath" value="${libs.jaxrpc16.classpath}"/>
      <property name="tomcat.home" value="full_path_to_$NB_USER_DIR/5.0/apache-tomcat-5.5.17_base"/>
    </target>

    仅当启动 Tomcat Web Server 后,才会创建 apache-tomcat-5.5.17_base 文件夹。

  2. 将以下目标添加到 build.xml 文件中:
    <target name="run-deploy" depends="init,compile,compile-jsps,-do-compile-single-jsp,dist">
     <property name="raw.war.name" value="${dist.dir}/raw-${war.name}"/>
     <copy file="${dist.war}" tofile="${raw.war.name}"/>
     <delete file="${dist.war}"/>
     <taskdef name="wsdeploy" classname="com.sun.xml.rpc.tools.ant.Wsdeploy" classpath="${wscompile.classpath}"/>
     <wsdeploy
       inWarFile="${raw.war.name}"
       outWarFile="${dist.war}"
       fork="true"
       classpath="${wscompile.classpath}:${build.classes.dir.real}:${javac.classpath}"
       keep="true"
       verbose="true"
       source="1.1.2"/>
     <delete file="${raw.war.name}"/>
     <copy file="${dist.war}" todir="${tomcat.home}/webapps"/>
    </target>
  3. 将以下目标添加到 build.xml 文件中,并将 my-host 更改为环境的主机名,将 my-port-number 更改为环境的端口号:
    <target name="run-display-browser" if="do.display.browser" depends="run-deploy">
       <nbbrowse url="http://my-host:my-port-number/${ant.project.name}/${client.urlPart}"/>
    </target>

    WEB-INF 文件夹中创建 XML 文档。将 XML 文档命名为 jaxrpc-ri。将以下内容添加到 jaxrpc-ri.xml 中,并将 mypackage.mysubpackage.myclassSEI 更改为 SEI 类的全限定名称,将 mypackage.mysubpackage.myclassImpl 更改为实现类的全限定名称:

    <?xml version="1.0" encoding="UTF-8"?>
    <webServices
        xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/dd"
        version="1.0"
        targetNamespaceBase="http://java.sun.com/xml/ns/jax-rpc/wsi/wsdl"
        typeNamespaceBase="http://java.sun.com/xml/ns/jax-rpc/wsi/types"
        urlPatternBase="/webservice">
        <endpoint
        name="MyTomcatWS"
        displayName="TomcatService"
        description="Tomcat Web Service endpoint"
        interface="mypackage.mysubpackage.myclassSEI"
        implementation="mypackage.mysubpackage.myclassImpl"/>
        <endpointMapping
        endpointName="MyTomcatWS"
        urlPattern="/MyTomcatWS"/>
    </webServices>

    现在,右键单击项目节点,选择“属性”,选择“运行”窗格,然后在“相对 URL”中键入 MyTomcatWS

  4. 在 Tomcat Web Server 上部署 Web 服务或 Web 服务客户端:

    1. 右键单击项目节点,选择“属性”,选择“运行”窗格,然后在“服务器”下拉列表中选择 "Tomcat Web Server"。
    2. 右键单击项目节点,然后选择“生成项目”。
    3. 执行以下某项操作:
      • 对于 Web 服务客户端,确保在使用“新建 Web 服务客户端”向导时,在“客户端类型”下拉列表中选择了 IDE 生成的静态桩模块。
      • 对于 Web 服务,必须手动启动服务器。在“服务”窗口 (Ctrl-5) 中,右键单击 Tomcat Web Server 实例节点,然后选择“启动”。
    4. 如果您处于公司防火墙的保护下,请设置代理主机和端口号
    5. 在“项目”窗口中,右键单击项目,然后选择“运行项目”。
    将使用在 <run-display-browser> 目标中指定的主机名和端口号来部署 Web 服务,并在浏览器中显示该服务。
    另请参见
    关于 Tomcat Web Server
    验证 Tomcat Web Server
    设置 Tomcat 数据库连接池

    法律声明