<project name="commonLib" default="deploy" basedir="."> <property name="axis.dir" value="/Program Files/Apache Software Fondation/Tomcat 4.1/webapps/axis"/> <property name="lib.dir" value="/Program Files/Apache Software Fondation/Tomcat 4.1/webapps/axis/WEB-INF/lib" /> <property name="class.dir" value="${axis.dir}/WEB-INF/classes" /> <property name="server" value="http://localhost:8080/axis/services/AdminService" /> <!-- Java実行時のクラスパス --> <path id="class.path"> <pathelement location="${lib.dir}/axis.jar"/> <pathelement location="${lib.dir}/axis-ant.jar"/> <pathelement location="${lib.dir}/commons-discovery.jar"/> <pathelement location="${lib.dir}/commons-logging.jar"/> <pathelement location="${lib.dir}/jaxrpc.jar"/> <pathelement location="${lib.dir}/log4j-1.2.4.jar"/> <pathelement location="${lib.dir}/saaj.jar"/> <pathelement location="${lib.dir}/wsdl4j.jar"/> </path> <!-- deploy --> <target name="deploy"> <!-- アンデプロイ --> <java classname="org.apache.axis.client.AdminClient" fork="yes"> <arg value="-l${server}"/> <arg value="undeploy.wsdd"/> <classpath refid="class.path" /> </java> <!-- サーバにクラスファイルをデプロイ --> <copy file="src/Hello.java" tofile="${axis.dir}/Hello.jws" /> <copy todir="${class.dir}"> <fileset dir="./classes"> <include name="*.class" /> <include name="server/**/**.class" /> </fileset> </copy> <!-- サーバにWSDDファイルをデプロイ --> <java classname="org.apache.axis.client.AdminClient" fork="yes"> <arg value="-l${server}"/> <arg value="deploy.wsdd"/> <classpath refid="class.path" /> </java> <!-- プロキシクラス生成 --> <java classname="org.apache.axis.wsdl.WSDL2Java" fork="yes"> <arg value="http://localhost:8080/axis/services/echo?wsdl"/> <classpath refid="class.path" /> </java> <java classname="org.apache.axis.wsdl.WSDL2Java" fork="yes"> <arg value="http://localhost:8080/axis/services/list?wsdl"/> <classpath refid="class.path" /> </java> <!-- プロキシクラス移動 --> <move todir="./src/localhost"> <fileset dir="./localhost" /> </move> <move todir="./src/entity"> <fileset dir="./entity" /> </move> </target> </project>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <!-- echoサービス --> <service name="echo" provider="java:RPC"> <parameter name="className" value="Echo" /> <parameter name="allowedMethods" value="*" /> </service> <!-- listサービス --> <service name="list" provider="java:RPC"> <parameter name="className" value="server.PatientList" /> <parameter name="allowedMethods" value="*" /> <beanMapping qname="myNS:PatientBean" xmlns:myNS="urn:entity" languageSpecificType="java:server.PatientBean" /> </service> </deployment>
どうやらクラスパスにjarを全部通そうとして、環境変数の制限か何かですべてのJARにパスが通らないことが原因っぽい。Windows2000だけか?lib以下にある全てのJarを解凍し、1つのJARにまとめてクラスパスを通したところ正常に通った・・・。
Linux
サーバ構築
Windows
Java
Program