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

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

  1. Web アプリケーションプロジェクトを作成します。Sun Java System Application Server をターゲットサーバーとして設定します。
  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>
    </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 と入力します。

Tomcat Web サーバー上に Web サービスまたは Web サービスクライアントを配備する

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

著作権と商標について