最近项目要应用 webService发布一个查询服务,之前没有做过,就做了一个简单的例子练习一下,有一个小问题,多方搜索无果。。web.xml 中 是从 axis1.4的webapp目录下直接拷贝过来的。
只在src根目录下写了一个类MyService.java:
public class MyService { public String getStr(String args){
return " Hello,"+args+". this is axis.";
}
}deploy.wsdd(放置到WEB-INF下) 代码
<deployment xmlns="http://xml.apache.org/axis/wsdd/"  xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">  
    <service name="MyService" provider="java:RPC">  
        <parameter name="className" value="MyService"/>  
        <parameter name="allowedMethods" value="*"/>  
    </service>  
</deployment>  
问题是我启动了Tomcat服务, 在DOS下,跳转到Tomcat 6.0\webapps\axisTest2\WEB-INF 目录,执行
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd 命令,按理说是去自动生成server-config.wsdd,但是提示我是Exception: AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: java.net.ConnectException: Connection refused: connect
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: Connection refused: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)这是神马原因呢?

解决方案 »

  1.   

    好像是需要在本地搭建一个web项目/axis/services/AdminService
    org.apache.axis.client.AdminClient 好像有个-l 的参数,指向上面的地址,否则默认就是去http://xml.apache.org/axis/寻找,这个其实是不存在的
      

  2.   

    我是新建的一个项目 然后导入的jar包。。

     org.apache.axis.client.AdminClient -1http://localhost:8089/axisTest2/servlet/AxisServlet deplop.wsdd 的效果是一样的。。
      

  3.   

    哥们看你的tomcat的端口设的多少……
      

  4.   

    没逗你,我当时学axis时copy的笔记:开启tomcat将axis跑起来,如果你axis安装了并开启了tomcat但还是错误,此时你要看你的tomcat端口是不是8080,你部署的axis包名是不是修改过,
    java org.apache.axis.client.AdminClient -lhttp://地址:端口/context模块/services/AdminService deploy.wsdd 这个命令来生成server-config.wsdd文件。
    执行java org.apache.axis.client.AdminClient deploy.wsdd就相当于默认执行java org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd
      

  5.   

    哦哦,大神们, 我补充一下,我是使用  java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient  -lhttp://localhost:8089/axisTest2/servlet/AxisServlet deploy.wsdd
    这个 不好使 才 换的上面那个,因为当初这里的关系不是很清楚,看到网上有的就拿过来试了
      

  6.   

    我了个去  shilyj7  哥们 你真准,练过吧?   端口是8086,给写成8089了。。叨叨了一天时间
      

  7.   

    connection refuse的一般都是端口问题