感谢javaeye,上面有位兄弟专门发布了axis的专题文章,写得非常的好,也很仔细,让我受益非浅
其实使用axis可以将任何已经有的java类提供为可供调用的webservice接口,而且非常
呵呵,不多说了,直接说步骤吧,希望对学习axis的兄弟有帮助,以最快捷的方式学习应用 axis
(这里我只用了stubs方式)
1- 环境搭建和测试
将 TOMCAT 和JDK配置好,然后下载apache上的axis1.4 这里有两个版本axis1.4和axis2,我们使用axis1.4
http://www.ip97.com/apache.org/ws/axis/1_4/axis-bin-1_4.zip
解压后将 webapps/axis 这个目录复制到 %tomcathome%/webapps/ 下
然后启动tomcat, 打开URL: http://localhost:8080/axis/
配置成功后将有如下信息,打开 validataion 然后,页面上的信息会告诉你已经有的包和还要差的包,然后根据提示将必须的包下载全.复制到 %tomcathome%/webapps/axis/WEB-INF/lib/目录下
重起tomat ,直到必须的包都装齐.
2- 创建一个服务类
我使用的ECLIPSE,当然其实在eclipse下并没有用axis的开发插件,只是用来写代码而已
创建一个普通的web工程
将 %tomcathome%/webapps/axis/WEB-INF/web.xml 文件复制到工程中 WEB-INF/下,替换原来的
将 %tomcathome%/webapps/axis/WEB-INF/lib 下的jar包复制到工程下 WEB-INF/lib 下, 要包括 activation.jar 包
编写如下文件代码
src/study/TestHello.java 内容如下:
java 代码
public class TestHello {
/**
* 测试
* @param name
* @return
*/
public String getName(String name){
return "Hello "+name;
}
}
TestClient.java 文件
java 代码
public class TestClient {
public static void main(String[] args) throws Exception {
// 指出service所在URL
String endpoint = "http://localhost:8080/虚拟路径/services/TestHello";
// 创建一个服务(service)调用(call)
Service service = new Service();
Call call = (Call) service.createCall();// 通过service创建call对象
// 设置service所在URL
call.setTargetEndpointAddress(new java.net.URL(endpoint));
// 方法名(processService)与MyService.java方法名保持一致
call.setOperationName("getName");
// Object 数组封装了参数,参数为"This is Test!",调用processService(String arg)
String ret = (String) call.invoke(new Object[] { "你好" });
System.out.println(ret);
}
}
编写deploy.xml 文件
xml 代码
<!--sp-->xml version="1.0" encoding="GB18030"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="TestHello" provider="java:RPC">
<parameter name="className" value="study.TestHello" />
<parameter name="allowedMethods" value="*" />
service>
deployment>
编写一个命令行的 axis发布脚本 r_make_server.bat
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/toms/servlet/AxisServlet deploy.wsdd
目录结构是这样的
/工程1---src/study/TestHello.java
---src/study/TestClient.java
---webroot/WEB-INF/class/study/TestHello.class
---webroot/WEB-INF/lib/所有的axis下的lib下的包 + 下载的必须的jar包
---webroot/WEB-INF/r_make_server.bat
---webroot/WEB-INF/web.xml
---webroot/WEB-INF/deploy.xml
3- 直接在MyEclipse 中以应用程序的方式运行 TestClient.java
其实使用axis可以将任何已经有的java类提供为可供调用的webservice接口,而且非常
呵呵,不多说了,直接说步骤吧,希望对学习axis的兄弟有帮助,以最快捷的方式学习应用 axis
(这里我只用了stubs方式)
1- 环境搭建和测试
将 TOMCAT 和JDK配置好,然后下载apache上的axis1.4 这里有两个版本axis1.4和axis2,我们使用axis1.4
http://www.ip97.com/apache.org/ws/axis/1_4/axis-bin-1_4.zip
解压后将 webapps/axis 这个目录复制到 %tomcathome%/webapps/ 下
然后启动tomcat, 打开URL: http://localhost:8080/axis/
配置成功后将有如下信息,打开 validataion 然后,页面上的信息会告诉你已经有的包和还要差的包,然后根据提示将必须的包下载全.复制到 %tomcathome%/webapps/axis/WEB-INF/lib/目录下
重起tomat ,直到必须的包都装齐.
2- 创建一个服务类
我使用的ECLIPSE,当然其实在eclipse下并没有用axis的开发插件,只是用来写代码而已
创建一个普通的web工程
将 %tomcathome%/webapps/axis/WEB-INF/web.xml 文件复制到工程中 WEB-INF/下,替换原来的
将 %tomcathome%/webapps/axis/WEB-INF/lib 下的jar包复制到工程下 WEB-INF/lib 下, 要包括 activation.jar 包
编写如下文件代码
src/study/TestHello.java 内容如下:
java 代码
public class TestHello {
/**
* 测试
* @param name
* @return
*/
public String getName(String name){
return "Hello "+name;
}
}
TestClient.java 文件
java 代码
public class TestClient {
public static void main(String[] args) throws Exception {
// 指出service所在URL
String endpoint = "http://localhost:8080/虚拟路径/services/TestHello";
// 创建一个服务(service)调用(call)
Service service = new Service();
Call call = (Call) service.createCall();// 通过service创建call对象
// 设置service所在URL
call.setTargetEndpointAddress(new java.net.URL(endpoint));
// 方法名(processService)与MyService.java方法名保持一致
call.setOperationName("getName");
// Object 数组封装了参数,参数为"This is Test!",调用processService(String arg)
String ret = (String) call.invoke(new Object[] { "你好" });
System.out.println(ret);
}
}
编写deploy.xml 文件
xml 代码
<!--sp-->xml version="1.0" encoding="GB18030"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="TestHello" provider="java:RPC">
<parameter name="className" value="study.TestHello" />
<parameter name="allowedMethods" value="*" />
service>
deployment>
编写一个命令行的 axis发布脚本 r_make_server.bat
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/toms/servlet/AxisServlet deploy.wsdd
目录结构是这样的
/工程1---src/study/TestHello.java
---src/study/TestClient.java
---webroot/WEB-INF/class/study/TestHello.class
---webroot/WEB-INF/lib/所有的axis下的lib下的包 + 下载的必须的jar包
---webroot/WEB-INF/r_make_server.bat
---webroot/WEB-INF/web.xml
---webroot/WEB-INF/deploy.xml
3- 直接在MyEclipse 中以应用程序的方式运行 TestClient.java