ここまででローカルPC内でウェブサービスクライアント~サービス間の疎通を行うことが出来た。
今度はサービスプロバイダを実際にサービスを公開するサーバに載せる。
今回使用したサーバは、OS=FedoraCore3、Java=JDK5.0 update5を使用している。

導入

  • Windows上で環境構築した際に使用したzipアーカイブをlinux上でどしどし展開する。
    • /home/
      • apache-tomcat-5.5.15/
      • apache-tomcat/ (シンボリックリンク)
      • sen-1.2.1/
      • sen/ (シンボリックリンク)
  • senについては、プロジェクトのホームページからダウンロードしたアーカイブでなくて、Windows上で「辞書の準備」までした状態当該ディレクトリをアーカイブし、そのままサーバ上に展開すると、辞書を改めて用意しなくていいので手間が省ける。

Tomcat

  • ウェブアプリからsenを実行できるようにするため、conf/catalina.propertiesに以下の内容を追記する。
    sen.home=/home/sen
  • bin/startup.shを実行して起動。

デプロイ

  • こんな感じのターゲットで、ローカルの資産をWARに固めてTomcatにデプロイする。そのまま、Axisでのデプロイも行って、サービスを登録する。
    リモートからサービスをデプロイするには(AdminServiceを使うには)、server-config.wsddでenableRemoteAdminをtrueにしておく必要がある。org.apache.axis.utils.Adminを用いてserverサイドのconfigを「ローカルで」生成し、これを雛形にしてリモートAdminを有効にした状態で、WebContent/WEB-INF/sever-config.wsddとして放り込んだ。で、そのままTomcatにデプロイしてAdminClientからサービスをデプロイ、とゆー、大雑把な手段。。。
    <taskdef resource="axis-tasks.properties" />
    <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"/>
    <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/>
    
    <property name="dist" value="./dist" />
    <property name="web" value="./WebContent" />
    <property name="war" value="KeitaisoWS.war" />
      
    <target name="deploy_ws" depends="deploy2server">
        <axis-admin
            port="8080"
            hostname="passing.breeze.cc"
            failonerror="true"
            servletpath="/KeitaisoWS/services/AdminService"
            xmlfile="./src/cc/breeze/ws/keitaiso/deploy.wsdd"
            username="AdminServiceを使うためのユーザ。user.lstに書いておく"
            password="パスワード"
        />
    </target>
    
    
    <target name="make_war">
        <delete dir="${dist}" />
        <mkdir dir="${dist}"/>
        <mkdir dir="${dist}/WEB-INF"/>
        <mkdir dir="${dist}/WEB-INF/classes"/>
        <mkdir dir="${dist}/WEB-INF/lib"/>
        <copy todir="${dist}">
            <fileset dir="${web}">
                <include name="**/*.*"/>
                <exclude name="**/*.java"/>
                <exclude name="**/jsp_servlet/*.class"/>
                <exclude name="**/build.xml"/>
                <exclude name="**/build.properties"/>
            </fileset>
        </copy>
        <copy todir="${dist}/WEB-INF/classes">
            <fileset dir="build/classes">
                <include name="**/*.*"/>
                <exclude name="**/jsp_servlet/*.class"/>
                <exclude name="**/*.java"/>
                <exclude name="**/*.wsdd"/>
            </fileset>
        </copy>
    </target>
    
    
      
    <target name="deploy2server" depends="make_war,undeploy" >
        <delete file="${war}" failonerror="false" />
        <jar jarfile="${war}" basedir="${dist}" manifest="${dist}/META-INF/MANIFEST.MF"/>    
        <deploy url="http://passing.breeze.cc:8080/manager"
            username="Tomcatのmanagerを使うためのユーザ"
            password="パスワード"
            path="/KeitaisoWS"
            war="${war}"
        />
    </target>
    
    
    <target name="undeploy">
        <undeploy url="http://passing.breeze.cc:8080/manager"
            username="Tomcatのmanagerを使うためのユーザ"
            password="パスワード"
            path="/KeitaisoWS"
            failonerror="false"
            />
    </target>
    
    		
  • Tomcatのmanagerを使うためのユーザは、サーバ側Tomcat導入ディレクトリのconf/tomcat-users.xmlに書いておく。
  • ブラウザからhttp://passing.breeze.cc:8080/managaer/htmlにアクセスしてTomcatに配備されたか確認する。
  • ブラウザからhttp://passing.breeze.cc:8080/KeitaisoWS/ →「リスト」にアクセスしてサービスが配備されたか確認する。
       
Powered by Google App Engine

このブログ記事について

このページは、tckzが2006年2月21日 00:39に書いたブログ記事です。

ひとつ前のブログ記事は「ウェブサービスクライアント - 疎通用Java版」です。

次のブログ記事は「ウェブサービスを書いてみる - コネクタ編」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 5.04