好文档 - 专业文书写作范文服务资料分享网站

axis2 WebService 开发指南 

天下 分享 时间: 加入收藏 我要投稿 点赞

Axis的简单准备 Axis的入门实例 Axis复杂对象类型的WebService Axis的辅助工具发布、调用WebService Axis WebService会话Session的管理 Axis用控制台Dos命令发布WebService Axis跨多个WebService管理Session Axis用Spring的JavaBean发布WebService Axis异步调用WebService Axis 的Module模块 Axis使用SoapMonitar监视WebService的请求和响应信息 Version1.0 2011-03-15 2.x WebService开发指南 hoojo 授之以鱼,不如授之以渔!希望能给广大IT朋友带来一些帮助 IT达人 自由IT职业 blog.csdn.net/IBM_hoojo http://hoojo.cnblogs.com/ 506637315 2011-3-15 1

Axis WebService 技术指南

Axis2.x WebService

上次介绍了axis1.x的用法,这次继续上次的,将叙述axis2的用法。

Axis1.x在线博文:http://www.cnblogs.com/hoojo/archive/2010/12/20/1911349.html

一、 准备工作

1、开发准备

首先需要下载axis2的相关jar包,到axis的官方网站即可获得开发的依赖包。 下载地址:http://axis.apache.org/axis2/java/core/download.cgi 现在最高的版本是1.5.4的

然后你需要下载官方提供的axis的eclipse插件工具,可以帮助我们打包(aar)及其生产客户端调用代码。

下载页面:http://axis.apache.org/axis2/java/core/tools/index.html

Service Archive Wizard - Eclipse Plug-in Code Generator Wizard - Eclipse Plug-in

2、安装eclipse插件

如果你的eclipse插件安装成功后,会看到如下效果:

3、分析axis2-bin文件目录结构

下载下来的axis2的依赖库,其中有一个axis2-1.5.3-bin.zip的库文件,目录结构如下:

bin文件夹是axis2的常用工具,其中有将wsdl文件转换成客户端调用的wsdl2java工具及将java转换成wsdl文件的工具 conf是axis2的配置文件 lib运行所要的依赖库

repository是发布过的axis服务和文件 sample是示例

欢迎转载 请保留原文作者信息 不得未经作者允许用于商业用途

2

Axis WebService 技术指南

webapp是web文件和jsp页面等

4、我们需要将下载下来的axis2-1.5.3-war.zip中的axis2.war这个文件放在我们的tomcat目录下,启动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 * @package com.hoo.service * @project Axis2WebService * @blog http://blog.csdn.net/IBM_hoojo * @email hoojo_@126.com * @version 1.0 */ public class HelloWorldService { } public String sayHello(String name) { } public int getAge(int i) { } return i + new Random().nextInt(100); return name + \; 注意,上面的HelloWorldService是没有package的。Copy这个类的class文件,放到tomcat目录下的webapps的axis2的WEB-INF目录的pojo文件夹下。如果没有pojo这个目录就手动创建一个一个文件夹。然后在浏览器输入:http://localhost:8080/axis2/ 点击Services的链接就可以看到我们手动发布的HelloWorldService了,或者是浏览器地址栏输入:http://localhost:8080/axis2/services/listServices 你就可以看到你刚才粘贴过去的这个WebService了。

欢迎转载 请保留原文作者信息 不得未经作者允许用于商业用途

3

Axis WebService 技术指南

点击链接就可以看到wsdl文件的内容了。内容很多,如果你看过axis1.x的介绍就知道wsdl文件的大致结构了。

下面讲解下为什么要将class放在pojo文件夹下。首先我们看看[tomcat_home]/webapps/axis2/WEB-INF/conf/axis2.xml 该文件中有这样一行代码:

2、测试这个WebService的方法

复制上面的HelloWorldService的链接地址,然后带上方法名称和参数值即可测试调用是否成功。如下:

http://localhost:8080/axis2/services/HelloWorldService/sayHello?name=jack

http://localhost:8080/axis2/services/HelloWorldService这个是WebService的地址 /sayHello是方法名称,?name=jack是参数名称和值 在浏览器中输入上面的地址后,可以看到如下效果:

可以看到返回值,和方法名称。ns:sayHelloResponse是方法名称,所有的方法名称后都会带上Response,后面的ns当然是当前方法所在的类的包名了,这里没有package就是默认的axis2的域名。

同样,getAge方法,也是一样的调用方法。

欢迎转载 请保留原文作者信息 不得未经作者允许用于商业用途

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; 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://blog.csdn.net/IBM_hoojo * @email hoojo_@126.com * @version 1.0 */

public class HelloWorldClient {

public static void main(String[] args) throws AxisFault {

//RPCServiceClient是RPC方式调用

RPCServiceClient client = new RPCServiceClient(); Options options = client.getOptions(); //设置调用WebService的URL String address =

EndpointReference epf = new EndpointReference(address); options.setTo(epf); /**

* 设置将调用的方法,http://ws.apache.org/axis2是方法 * 默认(没有package)命名空间,如果有包名 * 就是http://service.hoo.com 包名倒过来即可 * sayHello就是方法名称了 */

\;

欢迎转载 请保留原文作者信息 不得未经作者允许用于商业用途

axis2 WebService 开发指南 

Axis的简单准备Axis的入门实例Axis复杂对象类型的WebServiceAxis的辅助工具发布、调用WebServiceAxisWebService会话Session的管理Axis用控制台Dos命令发布WebServiceAxis跨多个WebService管理SessionAxis用Spring的JavaBean发布WebServiceAxis异步调用WebServi
推荐度:
点击下载文档文档为doc格式
0pq1q8e53z1x2cx44ea3
领取福利

微信扫码领取福利

微信扫码分享