axis2 webservice 开发指南

上传人:第*** 文档编号:30578826 上传时间:2018-01-30 格式:DOCX 页数:45 大小:600.14KB
返回 下载 相关 举报
axis2 webservice 开发指南_第1页
第1页 / 共45页
axis2 webservice 开发指南_第2页
第2页 / 共45页
axis2 webservice 开发指南_第3页
第3页 / 共45页
axis2 webservice 开发指南_第4页
第4页 / 共45页
axis2 webservice 开发指南_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《axis2 webservice 开发指南》由会员分享,可在线阅读,更多相关《axis2 webservice 开发指南(45页珍藏版)》请在金锄头文库上搜索。

1、Axis2.x WebService开发指南Axis 的简单准备Axis 的入门实例Axis 复杂对象类型的 WebServiceAxis 的辅助工具发布、调用 WebServiceAxis WebService 会话 Session 的管理Axis 用控制台 Dos 命令发布 WebServiceAxis 跨多个 WebService 管理 SessionAxis 用 Spring 的 JavaBean 发布 WebServiceAxis 异步调用 WebServiceAxis 的 Module 模块Axis 使用 SoapMonitar 监视 WebService 的请求和响应信息Vers

2、ion1.0 2011-03-15IT 达 人自 由 IT 职 业 http:/ IT 朋友带来一些帮助1 Axis WebService 技术指南欢迎转载 请保留原文作者信息 不得未经作者允许用于商业用途Axis2.x WebService上次介绍了 axis1.x 的用法,这次继续上次的,将叙述 axis2 的用法。Axis1.x 在线博文:http:/ 准备工作1、开发准备首先需要下载 axis2 的相关 jar 包,到 axis 的官方网站即可获得开发的依赖包。下载地址:http:/axis.apache.org/axis2/java/core/download.cgi现在最高的版本是

3、 1.5.4 的然后你需要下载官方提供的 axis 的 eclipse 插件工具,可以帮助我们打包(aar)及其生产客户端调用代码。下载页面:http:/axis.apache.org/axis2/java/core/tools/index.htmlService Archive Wizard - Eclipse Plug-inCode Generator Wizard - Eclipse Plug-in2、安装 eclipse 插件如果你的 eclipse 插件安装成功后,会看到如下效果:3、分析 axis2-bin 文件目录结构下载下来的 axis2 的依赖库,其中有一个 axis2-1.

4、5.3-bin.zip 的库文件,目录结构如下:bin 文件夹是 axis2 的常用工具,其中有将 wsdl 文件转换成客户端调用的 wsdl2java 工具及将 java 转换成 wsdl 文件的工具conf 是 axis2 的配置文件lib 运行所要的依赖库repository 是发布过的 axis 服务和文件2 Axis WebService 技术指南欢迎转载 请保留原文作者信息 不得未经作者允许用于商业用途sample 是示例webapp 是 web 文件和 jsp 页面等4、我们需要将下载下来的 axis2-1.5.3-war.zip 中的 axis2.war 这个文件放在我们的to

5、mcat 目录下,启动 tomcat 就会把 war 文件转成一个可以跑起来的 axis2 的项目。Tomcat 启动后,在浏览器中输入:http:/localhost:8080/axis2/你可以看到二、 Axis2 的简单 WebService 示例1、编写一个简单的 WebService 的服务器端代码,代码如下:import java.util.Random;/* function: WebService HelloWorld服务示例* author hoojo* createDate 2011-1-5 下午03:35:06* file HelloWorldService.java*

6、package com.hoo.service* project Axis2WebService* blog http:/ email hoojo_* version 1.0*/public class HelloWorldService public String sayHello(String name) return name + say: hello axis2;public int getAge(int i) return i + new Random().nextInt(100);注意,上面的 HelloWorldService 是没有 package 的。Copy 这个类的 cl

7、ass 文件,放到tomcat 目录下的 webapps 的 axis2 的 WEB-INF 目录的 pojo 文件夹下。如果没有 pojo 这个目录就手动创建一个一个文件夹。然后在浏览器输入:http:/localhost:8080/axis2/点击 Services 的链接就可以看到我们手动发布的 HelloWorldService 了,或者是浏览器地址栏输入:http:/localhost:8080/axis2/services/listServices你就可以看到你刚才粘贴过去的这个 WebService 了。3 Axis WebService 技术指南欢迎转载 请保留原文作者信息 不

8、得未经作者允许用于商业用途点击链接就可以看到 wsdl 文件的内容了。内容很多,如果你看过 axis1.x 的介绍就知道wsdl 文件的大致结构了。下面讲解下为什么要将 class 放在 pojo 文件夹下。首先我们看看tomcat_home/webapps/axis2/WEB-INF/conf/axis2.xml该文件中有这样一行代码:.class 的后缀文件放在目录 pojo 目录下。2、测试这个 WebService 的方法复制上面的 HelloWorldService 的链接地址,然后带上方法名称和参数值即可测试调用是否成功。如下:http:/localhost:8080/axis2/

9、services/HelloWorldService/sayHello?name=jackhttp:/localhost:8080/axis2/services/HelloWorldService 这个是 WebService 的地址/sayHello 是方法名称,?name=jack 是参数名称和值在浏览器中输入上面的地址后,可以看到如下效果:可以看到返回值,和方法名称。ns:sayHelloResponse 是方法名称,所有的方法名称后都会带上 Response,后面的 ns 当然是当前方法所在的类的包名了,这里没有 package 就是默认的 axis2 的域名。同样,getAge 方法

10、,也是一样的调用方法。4 Axis WebService 技术指南欢迎转载 请保留原文作者信息 不得未经作者允许用于商业用途http:/localhost:8080/axis2/services/HelloWorldService/getAge?i=22结果如下:3、下面我们看下客户端调用代码的编写,代码如下:package com.hoo.service;import javax.xml.namespace.QName;import org.apache.axis2.AxisFault;import org.apache.axis2.addressing.EndpointReference;

11、import org.apache.axis2.client.Options;import org.apache.axis2.rpc.client.RPCServiceClient;/* function:HelloWorldService 客户端调用代码* author hoojo* createDate 2011-1-7 下午03:55:05* file HelloWorldClient.java* package com.hoo.service* project Axis2WebService* blog http:/ email hoojo_* version 1.0*/public

12、class HelloWorldClient public static void main(String args) throws AxisFault /RPCServiceClient是RPC 方式调用RPCServiceClient client = new RPCServiceClient();Options options = client.getOptions();/设置调用WebService的URLString address = http:/localhost:8080/axis2/services/HelloWorldService;EndpointReference ep

13、f = new EndpointReference(address);options.setTo(epf);/* 设置将调用的方法,http:/ws.apache.org/axis2 是方法* 默认(没有package)命名空间,如果有包名* 就是http:/ 包名倒过来即可* sayHello就是方法名称了*/5 Axis WebService 技术指南欢迎转载 请保留原文作者信息 不得未经作者允许用于商业用途QName qname = new QName(http:/ws.apache.org/axis2, sayHello);/指定调用的方法和传递参数数据,及设置返回值的类型Object

14、 result = client.invokeBlocking(qname, new Object jack , new Class String.class );System.out.println(result0);qname = new QName(http:/ws.apache.org/axis2, getAge);result = client.invokeBlocking(qname, new Object new Integer(22) , new Class int.class );System.out.println(result0);如果你了解或是 看过 axis1.x 的

15、 WebService,这里的客户端调用代码比较简单,有部分关键注释,这里就不多加赘述。值得注意的是 axis2 的 WebService 客户端调用的返回对象是一个 Object 的数组,这点和 axis1.x 有很大不同。我们一般拿数组的第一个值,转换强转即可。三、 复杂对象类型的 WebService1、这次我们编写复杂点的 WebService 方法,返回的数据是我们定义属性带getter、setter 方法 JavaBean,一维数组、二维数组等。看代码:import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.Random;import data.User;/* function:复杂类型数据的WebService:字节数组、返回一维int数组、二维String数组及自定义JavaBean 对象等* author hoojo* createDate 201

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号