最近项目要应用 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)这是神马原因呢?
只在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)这是神马原因呢?
org.apache.axis.client.AdminClient 好像有个-l 的参数,指向上面的地址,否则默认就是去http://xml.apache.org/axis/寻找,这个其实是不存在的
用
org.apache.axis.client.AdminClient -1http://localhost:8089/axisTest2/servlet/AxisServlet deplop.wsdd 的效果是一样的。。
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
这个 不好使 才 换的上面那个,因为当初这里的关系不是很清楚,看到网上有的就拿过来试了