今度はサービスプロバイダを実際にサービスを公開するサーバに載せる。
今回使用したサーバは、OS=FedoraCore3、Java=JDK5.0 update5を使用している。
導入
- Windows上で環境構築した際に使用したzipアーカイブをlinux上でどしどし展開する。
- /home/
- apache-tomcat-5.5.15/
- apache-tomcat/ (シンボリックリンク)
- sen-1.2.1/
- sen/ (シンボリックリンク)
- /home/
- 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/ →「リスト」にアクセスしてサービスが配備されたか確認する。