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

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" target="_blank">
  <service name="HelloWorld" provider="java:RPC">
    <parameter name="className" value="HelloWorld"/>
    <parameter name="allowedMethods" value="sayHello"/>
  </service>
</deployment>
注解:
<parameter name="className" value="HelloWorld"/>HelloWorld:表示类,如果类有所属包,则value的值需要填写包名+类名,如:com.axis.HelloWorld,否则会导致不能找到类异常。
<parameter name="allowedMethods" value="sayHello"/>sayHello:表示类(HelloWorld)中的方法,如果类中有很多方法时value值可以为*

在DOS下转换目录到tomcat-5.0.28/webapps/axis/WEB-INF,命令:
如果环境变量中有配置AXISCLASSPATH,则用
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd
如果环境变量中没有配置AXISCLASSPATH,则用
java -cp lib/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.jar org.apache.axis.client.AdminClient deploy.wsdd

java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd
命令运行成功后,目录下多了一个server-config.wsdd文件,这就是axis的配置文件,以后所有的服务发布描述都会在里面找到。(当然,你可以直接修改它,不用再写deploy.wsdd)
打开浏览器,在地址栏输入:http://localhost:8080/axis/servlet/AxisServlet 你就会看到你的服务已发布
新创建一个项目,编写个客户端程序访问一下:(这里引用上面的客户端程序)
修改String endpoint = "http://localhost:" + "8080" + "/axis/services/HelloWorld";
其它完全一样。

你可能感兴趣的:(webservice)