各位好:
我使用Tomcat+Axis 作为Webservice服务器,使用Eclipse集成工具中的 Web services ->Create service 下一步 下一步操作,可以正确发布WebService,而且可以调用,虚拟路径配置<Context path="/WWS" docBase="E:\project\eclipse_project\WWS\WebContent"  reloadable="true"/>  。按照同样方法,我又新建立一个工程,配置的虚拟路径如下
<Context path="/sp" docBase="d:\sp"  reloadable="true"/>
并且使用 Web services ->Create service 生成deploy.wsdd文件,但是没有发布。
然后我使用命令 java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/sp/services/MyMathService   D:\sp\WEB-INF\MyMathService\com\deploy.wsdd 发布,报错如下:
log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.Project ResourceBundle).
log4j:WARN Please initialize the log4j system properly.
Processing file D:\sp\WEB-INF\MyMathService\com\deploy.wsdd
Exception: AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: java.net.SocketException: Connection reset
 faultActor:
 faultNode:
 faultDetail:报  Connection reset 也没搞明白,麻烦各位看看!
谢谢

解决方案 »

  1.   

    faultString: java.net.SocketException: Connection reset 
    表示你的socket有异常,我原来也出现过这个问题,连接重置了。在你的客户端调用时,有System.exit(0);这行代码,请注释它。
    另外一种情况:
    在项目的web.xml里<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      <servlet>
        <servlet-name>XFireServlet</servlet-name>
        <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
        <load-on-startup>0</load-on-startup>
      </servlet>请尝试把<load-on-startup>0</load-on-startup>中的0 改成 1
      

  2.   

    使用HttpClient.executeMethod(method)获取Http Web Server的数据时,请注意 
    URL中的路径不应该包括".."和"."表示的上一层目录和本层目录。否则会引起服务器的 
    Connection Reset 。 IE和FireFox已经在发送HttpRequest请求前将路径转换,故我们也需要做此工作 本问题在WebSphere 6.1中测试通过