Axis的Stubs方式开发web Service
来源:互联网 发布:mac看视频发热严重 编辑:程序博客网 时间:2024/05/16 01:37
最近在总结如何开发一个web Service,在网上也搜了一些例子,结合自己知道的一些,下面想跟大家分享下开发心得。
开发环境MyEclipse6.0、eclipse3.2 、tomcat6.0.26 、jdk1.5 、axis_1.4
首先,创建axis环境。
1. 下载axis1.4最新版本http://labs.renren.com/apache-mirror/ws/axis/1_4/
2. 将解压后的axis-1_4文件下的webapps目录下的axis目录考到%TOMCAT_HOME%Webapps/目录下
3. 启动tomcat的.输入路径http://localhost:8080/axis 打开axis主界面
4. 点击页面上的Validation ->查看一下你的axis相关jar文件是否添加完整了。若添加完整了正常情况下Validation页面中就不会有Error与Warning。
必须的jar文件有:
Stubs 开发方式(stubs 故名思意,存根的方式)
步骤1:
设置AXIS的环境变量.创建系统变量
右键我的电脑――>属性――>选择高级选项卡――>新建用户变量――>输入用户变量如下:
变量名:AXIS_LIB
变量值:D:/java/apache-tomcat-6.0.26/webapps/axis/WEB-INF/lib
变量名:CLASSPATH
变量值:
.;
%AXIS_LIB%/axis.jar;
%AXIS_LIB%/activation.jar;
%AXIS_LIB%/axis-ant.jar;
%AXIS_LIB%/commons-discovery-0.2.jar;
%AXIS_LIB%/commons-logging-1.0.4.jar;
%AXIS_LIB%/jaxrpc.jar;
%AXIS_LIB%/log4j-1.2.8.jar;
%AXIS_LIB%/mail.jar;
%AXIS_LIB%/saaj.jar;
%AXIS_LIB%/wsdl4j-1.5.1.jar;
%AXIS_LIB%/xmlsec-1.4.3.jar;
%AXIS_LIB%/jdom.jar
变量名:AXIS_HOME
变量值:D:/java/apache-tomcat-6.0.26/webapps/axis
步骤2:
首先编写Webservice服务器端类
package com.web.test;
publicclass ServerImp {
//服务端,传递的是字符串数据类型
public String getUserInfo(String loginName){
return loginName;
}
}
然后编写一个deploy.wsdd文件
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<!—ServerImp为wsdd描述符中的ServiceNamespace—>
<service name="ServerImp" provider="java:RPC">
<!—这里的ClassName指的就是服务类了,主要功能传递一个字符串参数—>
<parameter name="className" value="com.web.test.ServerImp"/>
<!—value值为*号,代表客户端可以调用服务的多个方法—>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
最后将写好的类的.class文件复制到/axis/web-inf/class目录下,需要把整个包复制下来。然后在把deploy.wsdd文件复制到/axis/web-inf/目录下.
打开控制台进入你的axis目录:
>cd D:/java/apache-tomcat-6.0.26/webapps/axis/WEB-INF
>java org.apache.axis.client.AdminClient -lhttp://localhost:8089/axis/services/ServerImp deploy.wsdd
发布成功后,你的axis/web-inf/目录下会多了一个server-config.wsdd文件,控制台下显示为:
Processing file deploy.wsdd
<Admin>Done processing</Admin>
步骤3:
键入命令生成一个客户端
>cd D:/java/apache-tomcat-6.0.26/webapps/axis/WEB-INF
>java org.apache.axis.wsdl.WSDL2Java -p client http://localhost:8089/axis/services/ServerImp?wsdl
打开axis/web-inf/目录下可以看到生成了一个client目录,复制client目录到项目中.这个client就是我们的客户端代码.
下面编写一个调用测试类:
package com.web.test;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class Test {
public static void main(String []args) throws Exception {
Service service = new Service();
Call call = null;
try{
call = (Call) service.createCall();
//设置服务的绝对路径
call.setTargetEndpointAddress("http://localhost:8089/axis/services/ServerImp?wsdl");
//设置调用方法名
call.setOperationName("getUserInfo");
//设置服务返回类型
call.setReturnType(XMLType.XSD_STRING);
//设置传递参数
call.addParameter("loginName",XMLType.XSD_STRING, ParameterMode.IN);
Object[] parAry=new Object[]{"yingwen"};
String result=(String)call.invoke(parAry);
System.out.println("result: "+result);
//控制台打印出的结果为:
//result: 用户名:yingwen
}
catch (ServiceException e) {
e.printStackTrace();
}
}
}
一个stubs的方式,开发web Service就OL了。
- Axis的Stubs方式开发web Service
- axis stubs 开发web service
- Axis 开发web service
- Axis开发Web Service的实例
- AXIS的Web Service
- Axis开发Web Service实例(三种方式)
- Axis开发Web Service实例(三种方式)
- Axis开发Web Service实例 三种方式
- Axis开发Web Service实例(三种方式)
- 用Axis开发Web Service的三种部署方式测试
- Axis部署和开发web service支持的三种方式
- 体味AXIS开发web service
- 用Axis开发Web Service
- Axis开发Web Service实例
- Axis开发Web Service实例
- Axis开发Web Service实例
- 应用 AXIS 开发 Web Service
- Axis开发Web Service实例
- dbcp、c3p0 数据库连接池解释
- How to design a tabpanel in blackberry like iPhone style
- postgresql 中的 clog
- 学习linux内核的四库全书
- 关于jQuery库判断chrome浏览器有问题的解决办法
- Axis的Stubs方式开发web Service
- 配置网络
- Android 2.2 source code construction
- 二层交换机
- 基于RoR项目管理系统 Redmine WinXp 下安装总结
- sed命令详解
- Jni访问java的属性,方法
- Memcached 学习笔记
- API Hook完全手册