• ベストアンサー

ApacheSOAPの設定

簡単な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 です。 もし、このことについてご存知な方がいらっしゃいましたら、 ぜひ回答していただきたいと思います。

  • Java
  • 回答数4
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • arata
  • ベストアンサー率49% (139/279)
回答No.2

面白そうなので、インストールして、DeployとListまで動かしてみました。(こっからが大事なのですが、ここから先が良くわからないので止まっています) メッセージを見る限り、soap.jarが見つけられてないようです。MS-DOSプロンプトで、tomcat runで実行するとUsing CLASSPATH:のメッセージのあとに、CLASSPATHが表示されると思うのですが、このメッセージに正しくsoap.jarの指定は出てますでしょうか? あと補足ですが ・JavaMailがないと動きませんでした。 ・Windows2000でサービスとして動かす場合は、wapper.propertiesの記述が必要でした でした

jyosho
質問者

補足

わざわざインストールしていただいた上での回答、ありがとうございます。 実は、自宅の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の記述は不要ではないかと思います。 この点について、何かお気づきになった点などありましたら、 ご回答していただければ幸いです。

その他の回答 (3)

  • arata
  • ベストアンサー率49% (139/279)
回答No.4

その後、いろいろさわってみたのですが、やっぱり違うものをコールしてました。 wrapper.propertiesのwrapper.class_pathのxerces.jarを最初に来るように変更したところ動作しました。 良く考えてみれば、あたりまえでしたね。 なお、サービスとして動作させるときに、下記のホームページにあるjk_javaを使っていたのですが、これを使用するとうまく動きませんでした。 http://www01.u-page.so-net.ne.jp/db3/midori/soft5.html jk_javaを使用していた理由は、Java2 SDK 1.3のNTサービスプロセスがWindows2000/NTのログアウトで停止してしまうのを回避するためです。SOAPで遊ぶには、jk_javaでは駄目なようで、ちょっとショックです。

jyosho
質問者

お礼

少し返事が遅れてしまいましたが、ご回答、どうもありがとうございます。 実は、ちょうど今、やっとApacheSOAPがまともに動いてくれ、 もちろん、RPCも自分の環境で実現することができました。 (NTサービスにわざわざしなくともうまく動いてくれました。) どうも、一度ApacheSOAP(含むTOMCAT)が正常に動かなくなったら 何もかも最初からインストールしなおさなければならなかったようで、 それを行いましたところ、問題が全て解決いたしました。 詳細なアドバイスを下さった回答者の皆様、本当にありがとうございました。

  • arata
  • ベストアンサー率49% (139/279)
回答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 なんか、違うものをコールしているような・・・・ 回答になってませんね。ごめんなさい

  • ichigo
  • ベストアンサー率50% (1/2)
回答No.1

私はsoapもインストールしたことありませんし、 Javaも詳しくないのでなんなのですが・・。 多少Apacheを知っている者としてのアドバイスです。 少し情報が不足しているような気がします。 >例外についての情報をずらりと表示 これは何が表示されましたか? このメッセージでわかる方がいるかもしれません。 あなたにとっては当たり前ことでも、 回答されるかたは当たり前ではないかもしれません。 尚、以下のURLはご覧になりましたでしょうか? バージョンも同じなので何かヒントがあるかもしれません。 インストールを行う際に参考にされたURLなども付け加えておくとよいかもしれません。

参考URL:
http://www-6.ibm.com/jp/developerworks/webservices/010302/j_ws-peer2.html
jyosho
質問者

補足

早速のアドバイス、ありがとうございます。 実は、ご指摘の参考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

  • SOAPの設定方法でご質問です

    下記環境で、SOAPを動かしてみようとしたのですが、 エラーになってしまいます。 ご存知の方がおられましたら、問題点、正しい設定方法等をご教授していただけませんでしょうか? よろしくお願い致します。 【環境】 Windows XP JDK 1.5.0_13 Tomcat 5.5 ・下記のJarファイルをCLASSPATHに追加設定 D:\goo\jar\tools\xalan.jar; D:\goo\jar\tools\xercesImpl.jar; D:\goo\jar\javamail-1.4.1\mail.jar; D:\goo\jar\jaf-1.1.1\activation.jar; D:\goo\jar\soap-2_3\lib\soap.jar; ■ブラウザより、下記URLを実行 http://localhost:7000/soap/admin/ 【エラー内容】 HTTPステータス 500 - -------------------------------------------------------------------------------- type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: javax/mail/MessagingException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 原因 javax.servlet.ServletException: javax/mail/MessagingException org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:843) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:776) org.apache.jsp.admin.deploy_jsp._jspService(deploy_jsp.java:495) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 原因 java.lang.NoClassDefFoundError: javax/mail/MessagingException org.apache.jsp.admin.deploy_jsp._jspService(deploy_jsp.java:55) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 注意 原因のすべてのスタックトレースは、Apache Tomcat/5.5.20のログに記録されています

    • ベストアンサー
    • Java
  • Tomcatインストール時に付属してあるexampleのJSPについて

    はじめまして。 JSPについて質問があります。 Tomcatインストール時に付属してあるデフォルトページのexampleのServletについては実行できたのですが、exampleのjspについては実行できず、ブラウザにエラーが表示されました。 エラー内容: ------------------------------ Error: 500 Location: /examples/jsp/num/numguess.jsp Internal Servlet Error: javax.servlet.ServletException: sun/tools/javac/Main (以下略) ------------------------------ ちなみに自分で作成したJSPファイルも実行できず、exampleのjspと全く同じ内容のエラー内容がブラウザに表示されました。 ちなみに開発環境は RedHatLinux7.2 Java2 SDK 1.3.0 Jakarata Tomcat 3.2.4 で、 環境変数は JAVA_HOME=/usr/java/jdk1.3.0_02 TOMCAT_HOME=/usr/src/jakarta/tomcat PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:/usr/java/jdk1.3.0_02/lib/tools.jar:$TOMCAT_HOME/lib/servlet.jar です。 クラスパスには、JDKのコンパイラ、サーブレットのコンパイラを設定しているのですが、設定に何か足りないのでしょうか? 大変困っています。 もし、何か分かる事がありましたら、ご教授御願い致します。

    • ベストアンサー
    • Java
  • Tomcatの設定について、404エラー

    本日の質問は、Tomcatのエラー404になります。 PCの環境OS:Windows7 JSPを始めるつもりで、下記のものをインストールしました。 javaのJDKをインストール済で、 Tomcat/7.0.32をインストールしました。 C:\Tomcat7\webapps\Sample_JSP\Sample_01.jsp C:\Tomcat7\webapps\Sample_JSP\WEB-INF\Sample_01.xml 環境変数   変数名:CATALINA_HOME   変数値:C:\Tomcat7 という感じで、Webページを参考にファイルを作り、 http://localhost:8080/は、表示させることができ、 http://localhost:8080/Sample_JSP\Sample_01.jspについても 表示出来ましたが、 http://localhost:8080/のページの HTTPステータス 404 - /manager/status HTTPステータス 404 - /manager/html HTTPステータス 404 - /host-manager/html どのページも、説明 The requested resource is not available. と出て、 Webページがが表示しません。 少し調べた所によると、tomcat-users.xml このファイルを なんか設定するように有り、admin の設定が入ってなかったので、 付け加えてみたり、削除してみたり、再起動もしました。 初心者なので、どこがおかしいのか良く解りません。 参考になるページでもありましたら、 どうか、よろしくお願いします。

  • Vistaでservletを動かすには?

    Windows Vista に替えたので、以前使っていたeclipse 2.0からEuropaにしました。 Tomcatプラグインは旧バージョンで使っていたものをそのまま入れて クラスパスにservlet-api.jarを指定してあるのですが、servletが動きません。 JSPにアクセスすれば正常に表示されるのですが、servletを参照すると404エラーになります。 旧バージョンと同じ設定をしたはずなのですが、 vistaでservletを動かすには設定が足りないのでしょうか。

    • ベストアンサー
    • Java
  • 教えて下さい!なぜ【WebApp: Error 404】のページが出る?

    JDK + apache + mod_webapp.so + tomcat + PostgreSQLをインストール・設定しました。 JDK     j2sdk-1_3_1_11-linux-i586 apache    apache1.3.31 mod_webapp.so tomcat    jakarta-tomcat-4.1.30 PostgreSQL    postgresql-7.2.3 (1) http://localhost:8080/index.jsp 【tomcat】のページが出ます。 (2) http://localhost/ 【あなたの予想に反して、このページが見えているでしょうか?】のページが出ます。 (3) http://localhost:8080/examples/jsp/index.html 【JSP Samples】のページが出ます。 (4 問題点) http://localhost/examples/jsp/index.html 【WebApp: Error 404】のページが出ます。 希望 → (3)と同じページが出る。 起動は tomcat → apache の順です。 なぜ【WebApp: Error 404】のページが出るのでしょうか? 教えて下さい。 お願いします。 (初心者なので出来ればわかりやすくお願いします)

  • tomcatの設定について

    過去のタイトルで拝見して自分もtomcatインストールをしましたが http://localhost:8080が表示できません。個人的にも原因を探るにもまだJavaの新米者なのでわかりません。 設定内容 *win98 & JDK1.3.1_01 tomcat3.2.4 AUTOEXEC.BATで Rem TShoot: path=c:\jdk1.3.1_01\bin SET SBPCI=C:\SBPCI SET JAVA_HOME=C:\JDK1.3.1_01 SET TOMCAT_HOME=C:\tomcat\jakarta-tomcat-3.2.4 このような設定です。 それと他にまだ設定することがあるのでしゃうか? よろしくお願いします。

  • tomcatのエラー処理について

    Tomcatが設定できなくなんとか試行錯誤をしているうちにlogsディレクトリの中にやっと(今までは全然表示されず)エラー内容(2つのファイル)が以下ように表示されてきました。処理の仕方がわかりません。アドバイスお願いします。 一つ目は jsper.logファイル 2002-02-03 00:26:34 - Scratch dir for the JSP engine is: C:\JAKART~1             \work\localhost_8080%2Fexamples 2002-02-03 00:26:34 - IMPORTANT: Do not modify the generated servlets 二つ目は servlet.logファイル 2002-02-03 00:26:34 - path="/examples" :jsp: init 2002-02-03 00:26:34 - path="/admin" :jsp: init 2002-02-03 00:26:35 - path="" :jsp: init 2002-02-03 00:26:35 - path="/test" :jsp: init というような内容です。このあとどうすれば???????? 現在以下の環境内容です。 win98SE tomcat3.2.4 PATH=C:\jdk1.3.1_01\bin;c:\Jakart~1t\bin SET JAVA_HOME=C:\jdk1.3.1_01 SET TOMCAT_HOME=C:\Jakart~1 SET CLASSPATH=%TOMCAT_HOME%\lib\servlet.jar;%JAVA_HOME%\lib\tools.jar

  • サーブレット環境について

    トムキャットに関する質問のお答えが少なかったので、もしかしてこれって難しいのでは・・と、思っていたのですが、どうしてもわからず、質問させていただきます。 インストールして、スタート→全てのプログラム→Apache Tomcat5.5→MonitorTomcat、そして下のアイコンからStart serviceを選んでアイコンのマークが緑色に変化して、それからURLでhttp://localhost:8080と入力したのですが、見つかりませんって出ちゃいます。アイコンマークが緑色に変化ってところまでは本の指示通りなので間違ってないと思うのですがこれって・・。現在JDKは使ってます。クラスパスも設定しました。 パスはしてません。(指示無かったので) ホスト名が間違っているのでしょうか? このアイコンが緑に変化ってところまではあっているのですが、ここまでってクラスパス設定にミスがあっても これちゃうものなのでしょうか? もしかしてクラスパス設定がまちがっているからつながらないのでしょうか? OSはXPでURLはFireFoxからしてます。これだけでは情報が足りないのでしたら補足させていただきます。 高レベルの凄い方、また経験豊かな方のご指導いただけたらうれしいです。よろしくお願いいたします。 あと必要かどうかわからないですが、 C:\ProgramFiles\Java\jre1.5.0\lib\ext\QTJava.zip;(2)C:\Program Files\ApacheSoftwareFoundation\Tomcat5.5\common\lib\servlet-api.jar;. (2)までがすでに設定してあったパスで(2)からトムキャットのために新しく設定したクラスパスです。

    • ベストアンサー
    • Java
  • eclipseでのstrutsについて

    すみませんがどなたか助けてください! strutsでの開発をすることとなり、現在勉強中なのですが最初のjspにて parsingエラーとなりつまづいております。。 【現在の環境】 eclipse3.0.1 Tomcat 5.0.28 j2sdk1.4.2_08 struts1.1 主なプラグイン: lomboz.301 (EMF 2.0.2) tomcatplug-in V3 Hibernate synchoronizer 3.0.1  以上のような環境でeclipseから新規プロジェクトを Tomcatプロジェクトにて作成し、struts-blank.warを解凍したものをworkspaceにコピーしております。  struts関連の参考サイトをみながら学習しておりましたが、 まず最初の"http://localhost:8080/プロジェクト名/index.jsp"にアクセスしてもエラーとなります。 エラーログ: javax.servlet.ServletException: Missing message for key "welcome.title"~以下略 また、eclipseのindex.jspファイル上でもエラーが表示されておりまして、 <%@ taglib uri="/tags/struts-logic" prefix="logic" %>のところで 「JSP Parsing Error:"/tags/struts-logic"がみつかりません。」と表示されます。 環境設定に問題があるのでは・・と調べてはいるのですが2日悩んでおりますが未だ解決に至っておりません。  http://localhost:8080/struts-blank/にアクセスするこは確認できております。  とりわけ自信がないのはeclipseでのTomcatの設定なのですが、色々調べてみたつもりですが、 上手くいきません。 クラスパス:C:j2sdk1.4.2_08\tools.jar ブートクラスパス:C:j2sdk1.4.2_08\rt.jar          C:j2sdk1.4.2_08\charset.jar 以上の設定をしています。 eclipseでは不要とのことですが、 JAVA_HOMEやTOMCAT_HOMEなどは環境変数で 設定してみました。  やれることはやったつもりなのですが.. もう私レベルでは手詰まりとなってしまいました。 どなたかお助けください。。。

    • ベストアンサー
    • Java
  • Tomcat5.5の設定で困っています。

    はじめまして。Javaの初心者です。 質問をさせてください。 現在jdk1.5.0_06とTomcat 5.5.17をインストールして いるのですが、Tomcat5.5でサーブレットが実行されな いし、%CATALINA_HOME%\webappsの下に、自分のアプリケーション用ディレクトリを作成してもブラウザで表示されません。サーブレットファイル(*.java)は コンパイルができたので、クラスパスのミスでは ないと思うのですが、Tomcatの諸設定をネット で探して試してもダメでした。どうしたら利用できる ようになるのでしょうか?教えてください。よろしく お願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう