- - PR -
ApacheAxis サンプルコードでエラーが出る
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-01 11:07
はじめまして。
-----環境----- j2sdk1.4.2_07 Tomcat5.0.28 axis1.2 -------------- @ITの「パソコンで試してわかるWebサービス 第1回」を見て、 Axisの勉強をしています。 サーバとクライアントは1台のPCで構築しています。 クライアントの環境を構築している段階なのですが、以下のページで詰まっています。 http://www.atmarkit.co.jp/fjava/rensai2/wbsrvic01/wbsrvic01_4.html コマンド(2)-1を実行した後にコマンド(1)-2を実行しても、 記述されたような結果が返ってきません。 「The AXIS engine could not find a target service to invoke! targetService is null」 という、コマンド(2)-1を実行する前の結果と同じものが返ってきてしまいます。 Tomcat/webapps/axis/WEB-INF 配下に、server-config.wsddというファイルがありますが、このファイルの更新された場所を見てみると、 <service name="MyService" provider="java:RPC"> <parameter name="allowedMethods" value="*"/> <parameter name="className" value="samples.userguide.example3.MyService"/> </service> となっていて、ちゃんと設定されているようです。 http://localhost:8080/axisのメニューで「リスト」を選択すると、 MyServiceは利用可能になっていました。 環境変数は以下のように設定しています。 PATH=C:\j2sdk1.4.2_07\bin AXIS_HOME=c:\axis-1_2 AXIS_LIB=%AXIS_HOME%\lib CLASSPATH=.;%AXIS_LIB%\activation.jar;%AXIS_LIB%\mail.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIb%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\wsdl4j-1.5.1.jar;C:\j2sdk1.4.2_07\lib\servlet.jar; 一体なぜコマンドプロンプト上はエラーになるのでしょうか。 気づいたことなど何でも良いので、是非ご教授お願い致します。 [ メッセージ編集済み 編集者: yt1988 編集日時 2005-06-01 15:43 ] [ メッセージ編集済み 編集者: yt1988 編集日時 2005-06-01 15:44 ] |
|
投稿日時: 2005-06-01 12:14
追記です。
その後、TCPモニタの起動とSOAPモニタの起動をしてみました。 TCPモニタを起動して、サンプルソースを実行すると、色々なデータが表示されました。 しかし、SOAPモニタを起動して、サンプルソースを実行しても、何も表示されません。 TCPモニタを起動して実行したコマンドは、 >java samples.userguide.example3.Client こんにちは -l http://localhost:8081/axis/services/MyService です。 これは確かにTCPモニタにデータが表示されました。 SOAPモニタアプレットを起動して実行したコマンドは >java samples.userguide.example3.Client こんにちは です。 コマンドプロンプト上では 「The AXIS engine could not find a target service to invoke! targetService is null」 とエラーが返ってきてしまいますし、SOAPモニタ上は何も出てきません。 SOAPモニタを使用するのに、deployファイルには以下を追加しました。 <requestFlow> <handler type="soapmonitor"/> </requestFlow> <responseFlow> <handler type="soapmonitor"/> </responseFlow> deployした結果、server-config.wsddは以下のようになりました。 <service name="MyService" provider="java:RPC"> <requestFlow> <handler type="soapmonitor"/> </requestFlow> <responseFlow> <handler type="soapmonitor"/> </responseFlow> <parameter name="allowedMethods" value="*"/> <parameter name="className" value="samples.userguide.example3.MyService"/> </service> どうして動かないのか、見当がつきません。 何でも良いので、ご教授お願い致します。 |
|
投稿日時: 2005-06-01 12:46
「コマンド(3)」はアンデプロイのコマンドなので、動かなくなって当然だと思いますし、
記事にもその通り書いてあるようですが。 |
|
投稿日時: 2005-06-01 15:41
仰るとおりです。申し訳ありません。
私の書き間違いです。 (誤) コマンド(3)を実行した後にコマンド(1)-3を実行しても、 記述されたような結果が返ってきません。 「The AXIS engine could not find a target service to invoke! targetService is null」 という、コマンド(3)を実行する前の結果と同じものが返ってきてしまいます。 (正) コマンド(2)-1を実行した後にコマンド(1)-2を実行しても 記述されたような結果が返ってきません。 「The AXIS engine could not find a target service to invoke! targetService is null」 という、コマンド(2)-1を実行する前の結果と同じものが返ってきてしまいます。 です。 申し訳ありません。 本文のほうも直しておきます。 [ メッセージ編集済み 編集者: yt1988 編集日時 2005-06-01 15:44 ] |
|
投稿日時: 2005-10-06 13:22
こんにちは。yt1998さんと同じように@ITの「パソコンで試してわかるWebサービス 第1回」を見て、 Axisの勉強をしています。
サーバとクライアントは1台のPCで構築しています。 PCの環境はj2sdk1.4.2_09 axis-1_1 Tomcat4.1.31 です。 ここで質問があるのですが、サンプルプログラムの実行で C:\axis-1_1>java samples.userguide.example3.Client こんにちは と入力すると Exception in thread "main" java.lang.NoClassDefFoundError:org/apache/axis/utils /Options と結果が返ってきて実行できません。 どのような原因が考えられますか。 どうかよろしくお願いします。 |
|
投稿日時: 2005-10-08 13:36
axis.jarへのパスが通ってないはずです。
サンプルがaxis1.0なので、サンプルのまんまのクラスパスでは不具合がおきるかもしれませんね。 私もaxis1.1で試しましたが、 set AXISCLASSPATH=C:\\axis-1_1\\lib set CLASSPATH=. set CLASSPATH=%CLASSPATH%;%AXISCLASSPATH%\\axis.jar set CLASSPATH=%CLASSPATH%;%AXISCLASSPATH%\\axis-ant.jar set CLASSPATH=%CLASSPATH%;%AXISCLASSPATH%\\commons-discovery.jar set CLASSPATH=%CLASSPATH%;%AXISCLASSPATH%\\commons-logging.jar set CLASSPATH=%CLASSPATH%;%AXISCLASSPATH%\\jaxrpc.jar set CLASSPATH=%CLASSPATH%;%AXISCLASSPATH%\\log4j-1.2.8.jar set CLASSPATH=%CLASSPATH%;%AXISCLASSPATH%\\saaj.jar set CLASSPATH=%CLASSPATH%;%AXISCLASSPATH%\\wsdl4j.jar ↑上記クラスパスを通せば可能でした。 (以前使ったのを流用したので不要なjarがあるかもしれないですが) > set AXIS_HOME=c:\\axis-1_0 ><AXIS_HOME>ディレクトリに移動し、クライアントを実行します。 >次のコマンドを実行してください。 とありますから、このバッチ及びjavaコマンドの実行場所はC:\\axis-1_1になりますね。 うまく通れば、例題のように、 > The AXIS engine could not find a target service to invoke! targetService is null が表示されますので、 下記のAdminClientコマンドをつかいWebサービスを登録しましょう。 >java org.apache.axis.client.AdminClient samples\\userguide\\example3\\deploy.wsdd クラスパスが通っていれば問題なく実行できるはずです。 #この例題ではwsddが何をしているのかまでは書かれていませんね。 #最後(●コマンド(3))でアンデプロイして環境をクリーンにして終了しています。 |
|
投稿日時: 2005-10-08 13:39
あ、そのままコピペしたので"円マーク"が//に化けてしまいました。
|
|
投稿日時: 2005-10-11 09:13
パスをそのように設定したら上手くいきました。
アドバイスありがとうございました。 |
1