应该是classpath的问题,我把那些需要的jar包都拷贝到了%JAVA_HOME%\jre\lib\ext\下了,使用没什么问题。

解决方案 »

  1.   

    那我上面的classpath设置的有什么不对?
      

  2.   

    你换成 Tomcat 3.x,试试
    4.x的TOMCAT和SOAP弄在一起确实总是出错
    我的就是在3。X下跑着的,没问题,但一换成4。X就一堆问题
      

  3.   

    我发现有时候classpath设完之后有时候不起作用,不知道哪里是否有冲突,
    你就照我说的把那些jar拷到ext下不就得啦,  顺便说一句,我用的就是Tomcat4.0.3,和soap一起用没什么问题。
      

  4.   

    classpath中能不能用长文件名路经?比如路径中有空格得?
      

  5.   

    to ghw(大浪淘沙) :
    拷过去之后,怎么设classpath?是这样吗?
    CLASSPATH=.;D:\j2sdk1.4.0\jre\lib\ext
      

  6.   

    to ghw(大浪淘沙) :
    拷过去之后,问题还在啊。能否详细说一下你的配置过程?疑问:
    1,classpath变量中xerces.jar必须放在soap.jar前面(soap文档里面说的),如果如你所说,都拷到ext目录下,它的次序怎么算?2,soap文档里面还说要在Tomcat.bat中设置CP变量,可是我没找到tomcat.bat文件,请问在哪儿设置CP变量?我现在在IE中输入:http://localhost:8080/soap/index.html
    IE显示:
                           Apache-SOAP
    Hello! Welcome to Apache-SOAP.What do you want to do today?Run the admin client 
    Visit the SOAP RPC router URL for this SOAP server 我点击run,在点击List或Deploy等,就出现楼上类似错误。请帮帮我,谢谢
      

  7.   

    Tomcat.bat是 3。X版本用的,在4。X中,已边成CATALINA。BAT了
    文档中说设置CP其实就是设置CLASSPATH,因为这个BAT会把CP赋值给CLASSPATH
    你可以直接改CATALINA。BAT中的CLASSPATH,在最前面加上xerces.jar
    的全路径,如:
    set CLASSPAT=C:\Xerces144\xerces.jar;C:\soap20\lib\soap.jar;%CP%(这是我机器上的设置)
      

  8.   

    比如说我想要发布一个webservice,它包含在Test_Soap.jar中,最简便的步骤如下:
    1.向$JAVA_HOME/jre/lib/ext拷贝一些必须的jar文件。
    2.找一个目录(/root/soap)存放soap的相关文件。
    3.配置$TOMCAT_HOME/conf/server.xml文件,加入soap的映射:
            <Context path="/soap" docBase="/root/soap/soap-2_2/webapps/soap"
             debug="0" privileged="true"/>
    4.重新启动tomcat。
    5.访问http://localhost:port/soap/servlet/rpcrouter,在浏览器上检查上面的配置是否正确。
    5.$JAVA_HOME/jre/lib/ext下拷贝Test_Soap.jar文件。
    6.执行命令“java org.apache.soap.server.ServiceManagerClient  http://localhost:port/soap/servlet/rpcrouter deploy 1.xml”发布Test_Soap.jar。
      

  9.   

    另外,你使用jdk1.4的话根本就用不着xerces.jar。
      

  10.   


    谢谢你的回复,我的问题还在。拷到ext目录后,需要设置classpath吗?前4步我都做啦,第5步就不行啦,其中第三步我是这样的(按照soap文档上的):
    <Context path="/soap" docBase="D:\Program Files\Apache Misc\soap-2_2\webapps\soap" debug="1" reloadable="true"> 
    我将D:\Program Files\Apache Tomcat 4.0\work\localhost\soap\admin\list$jsp.java拷贝到ext目录中(该目录现在有soap.jar,mail.jar等),运行javac list$jsp.java,它提示下面错误(在命令行下):D:\j2sdk1.4.0\jre\lib\ext>dir
     驱动器 D 中的卷是 W2KNET
     卷的序列号是 7485-688E D:\j2sdk1.4.0\jre\lib\ext 的目录2002-04-25  17:32       <DIR>          .
    2002-04-25  17:32       <DIR>          ..
    1999-05-21  14:14               45,386 activation.jar
    2001-01-30  15:56              105,573 bsf.jar
    2002-02-07  12:52                4,391 dnsns.jar
    2002-01-27  19:53              390,767 js.jar
    2002-02-07  12:52               53,559 ldapsec.jar
    2002-04-25  16:54                4,503 list$jsp.java
    2002-02-07  12:52              664,070 localedata.jar
    2000-12-01  00:08              280,984 mail.jar
    2001-05-29  15:57              220,703 soap.jar
    2002-02-07  12:52              116,788 sunjce_provider.jar
                  10 个文件      1,886,724 字节
                   2 个目录  7,172,120,576 可用字节D:\j2sdk1.4.0\jre\lib\ext>javac list$jsp.java
    list$jsp.java:5: package javax.servlet does not exist
    import javax.servlet.*;
    ^
    list$jsp.java:6: package javax.servlet.http does not exist
    import javax.servlet.http.*;
    ^
    list$jsp.java:7: package javax.servlet.jsp does not exist
    import javax.servlet.jsp.*;
    ^
    list$jsp.java:8: package org.apache.jasper.runtime does not exist
    import org.apache.jasper.runtime.*;
    ^
    list$jsp.java:11: cannot resolve symbol
    symbol  : class HttpJspBase
    location: class org.apache.jsp.list$jsp
    public class list$jsp extends HttpJspBase {
                                  ^
    list$jsp.java:21: package org.apache.jasper.runtime does not exist
        public final void _jspx_init() throws org.apache.jasper.runtime.JspException
     {
                                                                       ^
    list$jsp.java:24: cannot resolve symbol
    symbol  : class HttpServletRequest
    location: class org.apache.jsp.list$jsp
        public void _jspService(HttpServletRequest request, HttpServletResponse  res
    ponse)
                                ^
    list$jsp.java:24: cannot resolve symbol
    symbol  : class HttpServletResponse
    location: class org.apache.jsp.list$jsp
        public void _jspService(HttpServletRequest request, HttpServletResponse  res
    ponse)
                                                            ^
    list$jsp.java:25: cannot resolve symbol
    symbol  : class ServletException
    location: class org.apache.jsp.list$jsp
            throws java.io.IOException, ServletException {
                                        ^
    list$jsp.java:27: cannot resolve symbol
    symbol  : class JspFactory
    location: class org.apache.jsp.list$jsp
            JspFactory _jspxFactory = null;
            ^
    list$jsp.java:28: cannot resolve symbol
    symbol  : class PageContext
    location: class org.apache.jsp.list$jsp
            PageContext pageContext = null;
            ^
    list$jsp.java:29: cannot resolve symbol
    symbol  : class HttpSession
    location: class org.apache.jsp.list$jsp
            HttpSession session = null;
            ^
    list$jsp.java:30: cannot resolve symbol
    symbol  : class ServletContext
    location: class org.apache.jsp.list$jsp
            ServletContext application = null;
            ^
    list$jsp.java:31: cannot resolve symbol
    symbol  : class ServletConfig
    location: class org.apache.jsp.list$jsp
            ServletConfig config = null;
            ^
    list$jsp.java:32: cannot resolve symbol
    symbol  : class JspWriter
    location: class org.apache.jsp.list$jsp
            JspWriter out = null;
            ^
    list$jsp.java:45: cannot resolve symbol
    symbol  : variable JspFactory
    location: class org.apache.jsp.list$jsp
                _jspxFactory = JspFactory.getDefaultFactory();
                               ^
    16 errors
    可是我在网页上点击List,网页上提示前面的错误(见贴子内容)。请帮忙,谢谢!