簡単なWebサービスを作ってみようと思い、先日、
TomcatとApacheSOAPをインストールし、
Tomcatの起動に関しては無事成功しました。
また、
http://localhost:8080/soap
もきちんと見ることができます。
ですが、ここから先で問題が生じました。
それは、
http://localhost:8080/soap/admin
で行うことのできる機能のすべてを利用することができない、
ということです。
ListもDeployもUndeployも、すべてJSP(プラスBean)の形で
提供されていますが、それらを実行しようとすると、例外が発生します。
その上、正常にJSPが呼び出されたときに表示されるはずのフォームは
一切表示されず、そのかわりに、例外についての情報をずらりと表示します。
設定に誤りがあったのかと思いましたが、
xerces.jarとsoap.jarはクラスパスに追加されていますし、
もちろんxerces.jarについては、クラスパスの先頭に追加されています。
tomcat.batの訂正も抜かりなく行われています。
server.xmlには、http://localhost:8080/soap
を見るための設定の追加が施されています。
にもかかわらず、正常動作しないのは、
設定が間違っているか、まだ行っていない設定があるかの
いずれかだろうとは思うのですが、それが具体的に何かがわからないのです。
ちなみに、私の環境は、
OS:WINME
JDK:JDK1.3
Xerces:Xerces 1.2.3
Tomcat:tomcat 3.2.1
SOAP:SOAP 2.0
です。
もし、このことについてご存知な方がいらっしゃいましたら、
ぜひ回答していただきたいと思います。
No.2ベストアンサー
- 回答日時:
面白そうなので、インストールして、DeployとListまで動かしてみました。
(こっからが大事なのですが、ここから先が良くわからないので止まっています)メッセージを見る限り、soap.jarが見つけられてないようです。MS-DOSプロンプトで、tomcat runで実行するとUsing CLASSPATH:のメッセージのあとに、CLASSPATHが表示されると思うのですが、このメッセージに正しくsoap.jarの指定は出てますでしょうか?
あと補足ですが
・JavaMailがないと動きませんでした。
・Windows2000でサービスとして動かす場合は、wapper.propertiesの記述が必要でした
でした
この回答への補足
わざわざインストールしていただいた上での回答、ありがとうございます。
実は、自宅のWINME機へのインストールをあきらめ、
学校で使用しているWIN2000機にインストールしようとしたところ、
カレントディレクトリをきちんとクラスパスに含めないと、
ApacheSOAPが正常動作しないことがわかりました。
(もちろんJavaMail等の設定を行った上ですが。)
現在では、WIN2000機では、DeployとListがきちんと動く状態です。
Deployの仕方やそれ以降行う事柄がよく分からないとのことですが、
その点については、ichigoさんが明記してくださったページが詳しいかと思います。
ですが、私の場合、実際にこのページの通りに試してみても、
うまくいきませんでした。
例えば、このページにあるサンプルコードを
Z:\Apache\demo1>java Client
と、コマンドを打つと、
invoke service
URL= http://localhost:8080/soap/servlet/rpcrouter
URN =urn:demo1:exchange
SOAPException= SOAP-ENV:Client, A 'http://schemas.xmlsoap.org/soap/envelope/:Fau
lt' element must contain a: 'faultcode' element.
というエラーメッセージが返され、本来返されるべき値が、
帰ってこない(この場合はFLOAT型のデータ)という状態です。
この場合、WIN2000のサービスとして使うわけではないので、
wrapper.propertiesの記述は不要ではないかと思います。
この点について、何かお気づきになった点などありましたら、
ご回答していただければ幸いです。
No.4
- 回答日時:
その後、いろいろさわってみたのですが、やっぱり違うものをコールしてました。
wrapper.propertiesのwrapper.class_pathのxerces.jarを最初に来るように変更したところ動作しました。
良く考えてみれば、あたりまえでしたね。
なお、サービスとして動作させるときに、下記のホームページにあるjk_javaを使っていたのですが、これを使用するとうまく動きませんでした。
http://www01.u-page.so-net.ne.jp/db3/midori/soft …
jk_javaを使用していた理由は、Java2 SDK 1.3のNTサービスプロセスがWindows2000/NTのログアウトで停止してしまうのを回避するためです。SOAPで遊ぶには、jk_javaでは駄目なようで、ちょっとショックです。
少し返事が遅れてしまいましたが、ご回答、どうもありがとうございます。
実は、ちょうど今、やっとApacheSOAPがまともに動いてくれ、
もちろん、RPCも自分の環境で実現することができました。
(NTサービスにわざわざしなくともうまく動いてくれました。)
どうも、一度ApacheSOAP(含むTOMCAT)が正常に動かなくなったら
何もかも最初からインストールしなおさなければならなかったようで、
それを行いましたところ、問題が全て解決いたしました。
詳細なアドバイスを下さった回答者の皆様、本当にありがとうございました。
No.3
- 回答日時:
バッチで、Tomcatを起動した場合、うまくいきました。
wapper.propertiesに
wrapper.class_path=$(wrapper.tomcat_home)\classes
がありますので、Exchange.Classは、Tomcatのホームのclassesにおいて実行しました。
□実行結果
invoke service
URL= http://hogehoge/soap/servlet/rpcrouter
URN =urn:demo1:exchange
Result= 144.52
上記で、8080がついていませんが、ApacheとTomcatの連携経由でもちゃんと動きました。
ですが、バッチじゃなくてサービスで起動するとやっぱり駄目ですねえ。どうも見てるCLASSPATHが違うみたいですねえ。
□実行結果
invoke service
URL= http://hogehoge:8080/soap/servlet/rpcrouter
URN =urn:demo1:exchange
Fault= SOAP-ENV:Server.Exception:, java.lang.NoSuchMethodError
なんか、違うものをコールしているような・・・・
回答になってませんね。ごめんなさい
No.1
- 回答日時:
私はsoapもインストールしたことありませんし、
Javaも詳しくないのでなんなのですが・・。
多少Apacheを知っている者としてのアドバイスです。
少し情報が不足しているような気がします。
>例外についての情報をずらりと表示
これは何が表示されましたか?
このメッセージでわかる方がいるかもしれません。
あなたにとっては当たり前ことでも、
回答されるかたは当たり前ではないかもしれません。
尚、以下のURLはご覧になりましたでしょうか?
バージョンも同じなので何かヒントがあるかもしれません。
インストールを行う際に参考にされたURLなども付け加えておくとよいかもしれません。
参考URL:http://www-6.ibm.com/jp/developerworks/webservic …
この回答への補足
早速のアドバイス、ありがとうございます。
実は、ご指摘の参考URLを参照しながら設定しておりました。
この点に関しては最初から明示すべきでした。申し訳ございません。
また、例外に関しては、その詳細内容まですべて貼り付けてしまうと、
文章がいたずらに長くなるため、記載を遠慮しておりましたが
例外の種別だけでも記載しておくべきでした。
ここで、せっかくご指摘もあったことですので、
こちらに、追加情報として例外に関する情報を記載したいと思います。
まず、発生する例外は、いずれのjspを試してみた場合も、
javax.servlet.ServletException
と、
java.lang.NoClassDefFoundError
の2つです。
ブラウザに表示された内容は以下の通りです。
なお、表示された内容の例外に関する箇所は、コンソールに出力されたものと同様です。
○list.jsp実行時
Service Listing
Error: 500
Location: /soap/admin/list.jsp
Internal Servlet Error:
javax.servlet.ServletException: org/apache/soap/server/http/ServerHTTPUtils
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:399)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:484)
Root cause:
java.lang.NoClassDefFoundError: org/apache/soap/server/http/ServerHTTPUtils
at admin._0002fadmin_0002flist_0002ejsplist_jsp_0._jspService(_0002fadmin_0002flist_0002ejsplist_jsp_0.java:65)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:484)
○deploy.jsp実行時
Deploy a Service
Error: 500
Location: /soap/admin/deploy.jsp
Internal Servlet Error:
(注:これより下は、list.jspのInternal Servlet Error:
以下ととほぼ同じ内容が表示されます。ただし、
Root cause: の、
admin._0002fadmin_0002flist_0002ejsplist_jsp_0._jspService(_0002fadmin_0002flist_0002ejsplist_jsp_0.java:65)
が、
at admin._0002fadmin_0002fdeploy_0002ejspdeploy_jsp_0._jspService(_0002fadmin_0002fdeploy_0002ejspdeploy_jsp_0.java:72)
になっている点のみ異なります。)
○undeploy.jsp実行時
Un-Deploy a Service
Error: 500
Location: /soap/admin/undeploy.jsp
Internal Servlet Error:
(注:これより下は、list.jspのInternal Servlet Error:
以下ととほぼ同じ内容が表示されます。ただし、
Root cause: の、
admin._0002fadmin_0002flist_0002ejsplist_jsp_0._jspService(_0002fadmin_0002flist_0002ejsplist_jsp_0.java:65)
が、
at admin._0002fadmin_0002fdeploy_0002ejspdeploy_jsp_0._jspService(_0002fadmin_0002fdeploy_0002ejspdeploy_jsp_0.java:68)
になっている点のみ異なります。)
追加情報に関しては以上です。
あらためて、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- 画像編集・動画編集・音楽編集 AfterEffectでのシャターの挙動がおかしい 1 2023/05/07 00:38
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- その他(パソコン・周辺機器) Windowsマシン。USBタップの「自動切れ、再接続」がうざい。解決策は? 7 2023/01/25 08:27
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- その他(ソフトウェア) PC上のOutlookでIMAPアクセス時の送信が出来ない。Android上では問題なし。 2 2022/09/28 11:22
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- Windows 10 Windows10 の設定?について (長文ですがよろしくお願いします)m(_ _)m 3 2022/05/14 12:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseのアンインストールの仕方
-
マイクラjavaでForgeを入れたい...
-
セットアップファイル(MSIとEX...
-
vs codeはオフラインでも使用で...
-
OptiFineをJAVAで開こうとする...
-
MATLABのtoolboxのインストール...
-
インストール
-
MS Visual C++2005 SP1がインス...
-
eclipsのアンインストール
-
Microsoft 2010へのダウングレ...
-
Python3.12のインストール方法
-
Win環境でe複数バージョンをイ...
-
ブラウザ検証
-
html上で、バッチやexeファイル...
-
Eclipseで、プロジェクト名のと...
-
java クラスファイルとソースコ...
-
【Eclipse】パッケージ・エクス...
-
eclipseのショトカットキー
-
classファイルについて
-
ブレークポイントを設置してな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseのアンインストールの仕方
-
マイクラjavaでForgeを入れたい...
-
vs codeはオフラインでも使用で...
-
ActivePerlをインストールしよ...
-
この <windows.h> はどこに在る...
-
MSDNのコレクションがありませ...
-
ワードプレスで、特定の記事の...
-
セットアップファイル(MSIとEX...
-
Javaをインストールしたんです...
-
OptiFineをJAVAで開こうとする...
-
ユーザー名を漢字で登録してし...
-
MATLABのtoolboxのインストール...
-
Jupyter Notebook の拡張機能(N...
-
windows7 ADTプラグイン追加で...
-
64bitでbasp21の使用方法
-
VBSでuser32.dll(Win32API)を...
-
JDKでJavaアプリケーション実行...
-
IEの印刷機能を制御して印刷設...
-
OO4Oのインストールのしかた
-
stdoleについて
おすすめ情報