Web Service 之 axis (3)——手动发布篇
手动发布
1、将HelloWorld.java编译成HelloWorld.class(如果类含有包,则将包与类全部),放到tomcat-5.0.28/webapps/axis/WEB-INF/classes下
2、在tomcat-5.0.28/webapps/axis/WEB-INF下新建deploy.wsdd文件,即SOAP服务发布描述文件
deploy.wsdd
<deploymentxmlns="http://xml.apache.org/axis/wsdd/"xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"target="_blank">
<servicename="HelloWorld"provider="java:RPC">
<parametername="className"value="HelloWorld"/>
<parametername="allowedMethods"value="sayHello"/>
</service>
</deployment>
注解:
<parametername="className"value="HelloWorld"/>HelloWorld:表示类,如果类有所属包,则value的值需要填写包名+类名,如:com.axis.HelloWorld,否则会导致不能找到类异常。
<parametername="allowedMethods"value="sayHello"/>sayHello:表示类(HelloWorld)中的方法,如果类中有很多方法时value值可以为*
在DOS下转换目录到tomcat-5.0.28/webapps/axis/WEB-INF,命令:
如果环境变量中有配置AXISCLASSPATH,则用
java-cp%AXISCLASSPATH%org.apache.axis.client.AdminClientdeploy.wsdd
如果环境变量中没有配置AXISCLASSPATH,则用
java-cplib/axis.jar;lib/commons-discovery-0.2.jar;lib/commons-logging-1.0.4.jar;lib/axis-ant.jar;lib/jaxrpc.jar;lib/log4j-1.2.8.jar;lib/saaj.jar;lib/wsdl4j-1.5.1.jarorg.apache.axis.client.AdminClientdeploy.wsdd
或
java-Djava.ext.dirs=liborg.apache.axis.client.AdminClientdeploy.wsdd
命令运行成功后,目录下多了一个server-config.wsdd文件,这就是axis的配置文件,以后所有的服务发布描述都会在里面找到。(当然,你可以直接修改它,不用再写deploy.wsdd)
打开浏览器,在地址栏输入:http://localhost:8080/axis/servlet/AxisServlet你就会看到你的服务已发布
新创建一个项目,编写个客户端程序访问一下:(这里引用上面的客户端程序)
修改Stringendpoint="http://localhost:"+"8080"+"/axis/services/HelloWorld";
其它完全一样。