1.编写java类
package com.chnic.webservice;
public class HelloWorld {
public HelloWorld(){
}
public String hello(String str){
return "Hello " + str;
}
public int add( int a, int b){
return a + b;
}
}
2.将该类的class文件拷贝到%TOMCAT_HOME%\webapps\axis\WEB-INF\classes 目录下
拷贝后的路径:%TOMCAT_HOME%\webapps\axis\WEB-INF\classes\com\chnic\webservice
3.编写编写发布文件deploy.wsdd
<deployment xmlns = "http://xml.apache.org/axis/wsdd/"
xmlns:java = "http://xml.apache.org/axis/wsdd/providers/java" >
<service name = "HelloWorld" provider = "java:RPC" >
<parameter name = "className" value = "com.chnic.webservice.HelloWorld" />
<parameter name = "allowedMethods" value = "*" />
</service >
</deployment >
4.发布
编写完配置发布文件之后,cmd打开windows的控制台,进入%TOMCAT_HOME%\webapps\axis\WEB-INF目录下键入如下命令
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -l http://localhost:8090/axis/services/HelloWorld deploy.wsdd
5测试,编写客户端
package com.chnic.webservice;
import java.net.URL;
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class DemoTest {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String targetEendPoint = "http://localhost:8090/axis/services/HelloWorld" ;
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new URL(targetEendPoint));
call.setOperationName( new QName(targetEendPoint, "hello" ));
String result = (String) call.invoke( new Object[]{ "Robert" });
System.out.println(result);
call.setOperationName( new QName(targetEendPoint, "add" ));
Integer res = (Integer) call.invoke( new Object[]{ new Integer( 1 ), new Integer( 2 )});
System.out.println( "The result is: " + res);
}
}
6.取消发布
编写取消的undeploy.wsdd
<undeployment xmlns="http://xml.apache.org/axis/wsdd/">
<service name="HelloWorld"/>
</undeployment>
编写完配置发布文件之后,cmd打开windows的控制台,进入%TOMCAT_HOME%\webapps\axis\WEB-INF目录下键入如下命令
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8090/axis/services/AdminService undeploy.wsdd