webservice Axis发布deploy.wsdd出错 和Axis取消 undeploy.wsdd 出错

来源:互联网 发布:淘宝网上代购是真的吗 编辑:程序博客网 时间:2024/04/30 19:20

用Axis定制发布的时候,在控制台输入java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd 命令后后报错:如下


E:/Server/tomcat-6.0.18/webapps/axis/WEB-INF>java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd
Processing file deploy.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)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:520)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:153)
        at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:120)
        at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
        at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
        at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:1792)
        at org.apache.axis.client.AdminClient.process(AdminClient.java:439)
        at org.apache.axis.client.AdminClient.process(AdminClient.java:404)
        at org.apache.axis.client.AdminClient.process(AdminClient.java:410)
        at org.apache.axis.client.AdminClient.process(AdminClient.java:320)
        at org.apache.axis.client.AdminClient.main(AdminClient.java:463)

        {http://xml.apache.org/axis/}hostname:weiqi_personal

最后,我上网查了一下,在结合自己的理解。发现是输入那个命令的原因为,下面是正确的命令写法:

java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -l http://localhost:8000/axis/services/HelloWorldWSDD  deploy.wsdd


然后,输出:

Processing file deploy.wsdd
<Admin>Done processing</Admin>

则证明部署成功!


发布成功后,我又试验了一下取消发布。

同样在控制台输入:命令后,又报错,如下:


E:/Server/tomcat-6.0.18/webapps/axis/WEB-INF>java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient undeploy.wsdd
Processing file undeploy.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)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:520)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:153)
        at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:120)
        at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
        at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
        at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:1792)
        at org.apache.axis.client.AdminClient.process(AdminClient.java:439)
        at org.apache.axis.client.AdminClient.process(AdminClient.java:404)
        at org.apache.axis.client.AdminClient.process(AdminClient.java:410)
        at org.apache.axis.client.AdminClient.process(AdminClient.java:320)
        at org.apache.axis.client.AdminClient.main(AdminClient.java:463)

        {http://xml.apache.org/axis/}hostname:weiqi_personal


因为有上面发布的错误经验,所以我很快就定位了错误原因,

输入正确的命令:java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -l http://localhost:8000/axis/servlet/AxisServlet undeploy.wsdd

然后,输出:

Processing file undeploy.wsdd
<Admin>Done processing</Admin>

则证明取消部署成功!

发布的时候主要注意一下地址是:http://localhost:8000/axis/services/HelloWorldWSDD (端口改成自己Tomcat的端口,HelloWorldWSDD 改成自己发布时候在deploy.wsdd中的服务名字)

取消发布的时候,主要是注意一下http://localhost:8000/axis/servlet/AxisServlet (端口改成自己Tomcat的端口)

原创粉丝点击