- - PR -
WeblogicへのWebサービス登録(デプロイ)について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-27 14:32
現在以下の環境にてWeblogic Serverを利用したWebサービスの開発を行っております。
・OS:WindowsXP sp2 ・IDE:eclipse 3.0.2 ・JVM:1.4.2_08 ・APサーバ:Weblogic Server8.1J Weblogicへクラスをデプロイをする際、build.xmlを用いて行っております。 クラス単体、あるいはJavaのAPIを参照する(Importする)クラスをデプロイするには 以下に記すbuild.xmlとWeblogic環境変数を定義したexamples.propertiesでデプロイ可能です。 しかし、我々が独自に作成したクラス(jarファイルを含む)を参照するクラスをデプロイすると 「NoClassDefFoundError」が発生してしまいます。 (テストはWeblogicのコンソール画面から行いました。) build.xml実行の結果作成されるearファイルを展開して確認したところ、 以下のファイルに書かれた内容だけではWebサービスの対象となるクラスに 我々が作成したクラスを参照させるようなearファイルを作成できていないようです。 JavaAPIではないクラスを参照するクラスをデプロイするのに必要な build.xmlの書き方についてご教示いただけますでしょうか。 (個人的には<servicegen>タグのあたりが怪しいと思いますが。。。) 宜しくお願い致します。 【build.xml】 ************************************************************** <project name="webservices-services" default="all" basedir="."> <!-- set global properties for this build --> <property environment="env"/> <property file="./examples.properties"/> <property name="build.compiler" value="${JAVAC}"/> <property name="source" value="src"/> <property name="build" value="bin"/> <property name="war_file" value="services_client.war" /> <property name="ear_file" value="services_client.ear" /> <property name="client_jar_file" value="services_client.jar"/> <property name="namespace" value="http://192.168.128.101:7001/services_client"/> <target name="all" depends="clean, compile, ear"/> <target name="check" depends="checkjar" unless="webservices.jar.present"> <fail> webservices.jar file was not found. Download it from BEA web site and place it in WL_HOME/server/lib directory. </fail> </target> <target name="checkjar"> <available file="${WL_HOME}/server/lib/webservices.jar" property="webservices.jar.present"/> </target> <target name="clean"> <delete dir="${build}"/> <delete file="${APPLICATIONS}/${ear_file}"/> </target> <target name="compile" depends="check"> <mkdir dir="${build}"/> <javac srcdir="${source}" extdirs="lib" deprecation="on" debug="on" destdir="${build}"/> </target> <target name="ear" depends="check"> <servicegen destEar="${APPLICATIONS}/${ear_file}" warName="${war_file}"> <service style="documentwrapped" javaClassComponents="cmn.boundary.BdySoapIF" targetNamespace="${namespace}" serviceName="BdySoapIF_service" serviceURI="/BdySoapIF_service" generateTypes="True" expandMethods="True"> <client packageName="cmn.boundary" clientJarName="${client_jar_file}" /> </service> <classpath> <pathelement path="${build}"/> <pathelement path="${java.class.path}"/> </classpath> </servicegen> </target> </project> ************************************************************** 【examples.properties】 ************************************************************** #choose classic, modern, jikes, or jvc JAVAC=modern BEA_HOME=C:/bea WL_HOME=C:/bea/weblogic81 APPLICATIONS=C:/bea/user_projects/domains/mydomain_2/applications CLASSPATH=${java.class.path} PORT=7001 ************************************************************** |
|
投稿日時: 2005-06-27 15:10
servicegenだけではご希望の動作はできないようですね。servicegenでEarを作成した後、
wspackageタスクを実行し、その属性としてutilJarsやwebAppClassesに含めたいJarや クラスを指定すればできるのではないでしょうか。 |
1