为 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/ide7/modules/ext/jaxrpc16 中的所有 JAR 文件复制到 $NB_HOME/enterprise2/apache-tomcat-5.5.17/common/lib 中。
  2. 确保在 IDE 中注册 Sun Java System Application Server。
  3. 在“运行环境”窗口 (Ctrl-5) 中,展开“服务器”节点,右键单击 Tomcat Web Server 节点,然后选择“启动”。执行此操作时,将创建 <$NB 用户目录完整路径>/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 设置为目标服务器。
  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

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

  1. 右键单击项目节点,选择“属性”,选择“运行”窗格,然后在“服务器”下拉列表中选择 Tomcat Web Server。
  2. 右键单击项目节点,然后选择“生成项目”。
  3. 执行以下某项操作:
  4. 如果您受到公司防火墙的保护,请设置代理主机和端口号
  5. 在“项目”窗口中,右键单击项目,然后选择“运行项目”。
将使用在 <run-display-browser> 目标中指定的主机名和端口号来部署 Web 服务,并在浏览器中显示该服务。
另请参见
关于 Tomcat Web Server
对 Tomcat Web Server 进行验证
设置 Tomcat 数据库连接池

法律声明