ImageVerifierCode 换一换
格式:DOCX , 页数:57 ,大小:501.54KB ,
资源ID:2774163      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2774163.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(axis2WebService开发指南.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

axis2WebService开发指南.docx

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

2、e上次介绍了axis1.x的用法,这次继续上次的,将叙述axis2的用法。Axis1.x在线博文::/一、 准备工作1、开发准备首先需要下载axis2的相关jar包,到axis的官方网站即可获得开发的依赖包。下载地址::/axis.apache.org/axis2/java/core/download.cgi现在最高的版本是1.5.4的然后你需要下载官方提供的axis的eclipse插件工具,可以帮助我们打包(aar)及其生产客户端调用代码。下载页面::/axis.apache.org/axis2/java/core/tools/index.htmlService Archive Wizard

3、 - Eclipse Plug-inCode Generator Wizard - Eclipse Plug-in2、安装eclipse插件如果你的eclipse插件安装成功后,会看到如下效果:3、分析axis2-bin文件目录结构下载下来的axis2的依赖库,其中有一个axis2-1.5.3-bin.zip的库文件,目录结构如下:bin文件夹是axis2的常用工具,其中有将wsdl文件转换成客户端调用的wsdl2java工具及将java转换成wsdl文件的工具conf是axis2的配置文件lib运行所要的依赖库repository是发布过的axis服务和文件sample是示例webapp是w

4、eb文件和jsp页面等4、我们需要将下载下来的axis2-1.5.3-war.zip中的axis2.war这个文件放在我们的tomcat目录下,启动tomcat就会把war文件转成一个可以跑起来的axis2的项目。Tomcat启动后,在浏览器中输入::/localhost:8080/axis2/你可以看到二、 Axis2的简单WebService示例1、编写一个简单的WebService的服务器端代码,代码如下:import java.util.Random;/* * function: WebService HelloWorld服务示例 * author hoojo * createDate

5、 2011-1-5 下午03:35:06 * file HelloWorldService.java * package com.hoo.service * project Axis2WebService * blog :/ * 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(

6、100); 注意,上面的HelloWorldService是没有package的。Copy这个类的class文件,放到tomcat目录下的webapps的axis2的WEB-INF目录的pojo文件夹下。如果没有pojo这个目录就手动创建一个一个文件夹。然后在浏览器输入::/localhost:8080/axis2/点击Services的链接就可以看到我们手动发布的HelloWorldService了,或者是浏览器地址栏输入::/localhost:8080/axis2/services/listServices你就可以看到你刚才粘贴过去的这个WebService了。点击链接就可以看到wsdl

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

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

9、Age?i=22结果如下:3、下面我们看下客户端调用代码的编写,代码如下:package com.hoo.service;import javax.xml.namespace.QName;import org.apache.axis2.AxisFault;import org.apache.axis2.addressing.EndpointReference;import org.apache.axis2.client.Options;import org.apache.axis2.rpc.client.RPCServiceClient;/* * function:HelloWorldServ

10、ice 客户端调用代码 * author hoojo * createDate 2011-1-7 下午03:55:05 * file HelloWorldClient.java * package com.hoo.service * project Axis2WebService * blog :/ * email hoojo_ * version 1.0 */public class HelloWorldClient public static void main(String args) throws AxisFault /RPCServiceClient是RPC方式调用 RPCServi

11、ceClient client = new RPCServiceClient(); Options options = client.getOptions(); /设置调用WebService的URL String address = :/localhost:8080/axis2/services/HelloWorldService; EndpointReference epf = new EndpointReference(address); options.setTo(epf); /* * 设置将调用的方法,:/ws.apache.org/axis2是方法 * 默认(没有package)命

12、名空间,如果有包名 * 就是:/ 包名倒过来即可 * sayHello就是方法名称了 */ QName qname = new QName(:/ws.apache.org/axis2, sayHello); /指定调用的方法和传递参数数据,及设置返回值的类型 Object result = client.invokeBlocking(qname, new Object jack , new Class String.class ); System.out.println(result0); qname = new QName(:/ws.apache.org/axis2, getAge); re

13、sult = client.invokeBlocking(qname, new Object new Integer(22) , new Class int.class ); System.out.println(result0); 如果你了解或是看过axis1.x的WebService,这里的客户端调用代码比较简单,有部分关键注释,这里就不多加赘述。值得注意的是axis2的WebService客户端调用的返回对象是一个Object的数组,这点和axis1.x有很大不同。我们一般拿数组的第一个值,转换强转即可。三、 复杂对象类型的WebService1、这次我们编写复杂点的WebService

14、方法,返回的数据是我们定义属性带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 2011-1-13 下午03:34:52 * file ComplexTypeService.java * package * project Axis2WebService * blog :/ * email hoojo_12

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1