从 http://ws.apache.org/axis/ 下载axis1.4,解压缩到 D:/JAVA/axis1.4
从其目录中的webapps中把axis目录拷贝到 D:/JAVA/tomcat/webapps 下
从 http://xml.apache.org/dist/xerces-j/ 下载Xerces解压缩xercesImpl.jar到 D:/JAVA/axis1.4/lib 下
public class Hello {
public String sayHello(String name) {
return " Hello " + name;
}
}
编译后连同包结构一起拷贝到 D:/JAVA/tomcat/webapps/axis/WEB-INF/classes/ 下,启动Tomcat
任意目录下新建部署文件deploy.wsdd
< service name ="sayhello" provider ="java:RPC" >
< parameter name ="className" value ="com.yangxiang.ws.Hello" />
< parameter name ="allowedMethods" value ="sayHello" />
</ service >
</ deployment >
环境变量设置文件set.bat(和上面文件同一目录)
set AXIS_HOME=D:/JAVA/axis1.4
set AXIS_LIB=%AXIS_HOME%/lib
set AXISCLASSPATH=%AXIS_LIB%/axis.jar;%AXIS_LIB%/commons-discovery-0.2.jar;%AXIS_LIB%/commons-logging-1.0.4.jar;%AXIS_LIB%/jaxrpc.jar;%AXIS_LIB%/saaj.jar;%AXIS_LIB%/log4j-1.2.8.jar;%AXIS_LIB%/xml-apis.jar;%AXIS_LIB%/xercesImpl.jar
注:其中一些jar包的名称随版本不同而不同,上述是axis1.4中的各个jar包名,请依据情况更改
此目录下开启命令行,运行set.bat,再运行
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd
显示<Admin>Done processing</Admin>则表示服务添加成功,此时可以看到 D:/JAVA/tomcat/webapps/axis/WEB-INF 下面的 server-config.wsdd 文件中已经添加了sayhello这个服务
如果需要卸载这个服务,可以新建undeploy.wsdd
< service name ="sayhello" />
</ undeployment >
运行
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd
即可卸载掉刚才添加的服务
//卸载服务结束
新建WebService客户端测试文件WSTester.java(编译时需要 D:/JAVA/axis1.4/lib 下面的包)
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class WSTester {
public static void main(String[] args) {
try {
String endpoint = " http://127.0.0.1:8080/axis/services/sayhello " ;
Service service = new Service();
Call call = null ;
// 创建Call实例以便发送RPC请求
call = (Call) service.createCall();
call.setOperationName( new QName(endpoint, " sayHello " ));
call.setTargetEndpointAddress( new java.net.URL(endpoint));
// invoke负责向Web服务器发送客户指定的RPC请求
String ret = (String) call.invoke( new Object[] { " someone " });
System.out.println(ret);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
运行WSTester进行测试
另:文中目录结构及包结构可按个人喜好设置,不用完全照搬,关于Axis的详细帮助在 D:/JAVA/axis1.4/docs 下可以找到(按文中目录)