Tomcat Web サーバー上の Web サービス用の Ant ターゲットの記述

関連項目

Tomcat Web サーバーで Web サービスを操作するときは、 Java Web Services Developer Pack 1.6 (JWSDP 1.6) を使用することが推奨されます。ただし、JWSDP 準拠の Tomcat Web サーバーは Tomcat Web Server 5.0.19 をベースにしています。したがって、5.0.19 より上位のバージョンの Tomcat Web サーバーを使用する場合は、JWSDP 1.6 を使用できません。代わりに、次に述べるように、IDE で Ant ターゲットを記述する必要があります。

Ant ターゲットを使用して Tomcat Web サーバー上に Web サービスを配備するための準備手順

  1. すべての JAR ファイルを $NB_HOME/ide8/modules/ext/jaxrpc16 から $NB_HOME/enterprise4/apache-tomcat-5.5.17/common/lib にコピーします。
  2. Sun Java System Application Server/GlassFish が IDE で 登録済みであることを確認します。
  3. 「サービス」ウィンドウ (Ctrl-5) で、「サーバー」ノードを展開し、「Tomcat Web サーバー」ノードを右クリックし、「起動」を選択します。これにより、 <$NB_USER_DIR へのフルパス>/ 5.0/apache-tomcat-5.5.17_base フォルダが作成されます。このフォルダで、conf/server.xml フォルダの autoDeploy="false"autoDeploy="true" に切り替えて、Tomcat Web サーバーの自動配備機能を有効にします。「Tomcat Web サーバー」ノードを右クリックし、サーバーが変更を読み込むことができるよう、再起動を選択します。

Web サービスまたはクライアントファイルを作成する

  1. Web アプリケーションプロジェクトを作成します。Sun Java System Application Server/GlassFish をターゲットサーバーとして設定します。
  2. 次のいずれかを行います。

Tomcat Web サーバー上に Web サービスを配備するための Ant ターゲットを記述する

  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 サーバーが起動されると、 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 サーバー上に Web サービスまたは Web サービスクライアントを配備する

    1. プロジェクトノードを右クリックして「プロパティー」を選択し、「実行」区画を選択して「サーバー」ドロップダウンリストから「Tomcat Web サーバー」を選択します。
    2. プロジェクトノードを右クリックし、「プロジェクトを構築」を選択します。
    3. 次のいずれかを行います。
      • Web サービスクライアントの場合は、「新規 Web サービスクライアント」ウィザードを使用したときに「クライアントの種類」ドロップダウンリストで IDE 生成の静的スタブを選択してあることを確認します。
      • Web サービスの場合は、サーバーを手動で起動する必要があります。「サービス」ウィンドウ (Ctrl-5) で「Tomcat Web サーバー」インスタンスノードを右クリックし、「起動」を選択します。
    4. 社内のファイアウォールで保護されている場合は、 プロキシホストとポート番号を設定 します。
    5. 「プロジェクト」ウィンドウでプロジェクトを右クリックし、「プロジェクトを実行」を選択します。
    Web サービスが配備され、ブラウザに表示されます。このとき、<run-display-browser> ターゲットで指定されたホスト名とポート番号が使用されます。
    関連項目
    Tomcat Web サーバーの概要
    サーバーの認証
    Tomcat Web サーバーでの接続プールの設定

    著作権と商標について