Axis和XFire发布与调用WebService详细教程
需积分: 18 73 浏览量
更新于2024-07-29
收藏 869KB DOC 举报
Web Services 发布与调用(axis,xfire)
Web Services 是一种基于 XML 的远程过程调用(RPC)机制,允许不同的系统和语言之间进行交互和集成。在本文中,我们将讨论使用 Axis 和 XFire 实现 Web Services 的发布和调用。
一、使用 Axis 和 XFire 发布 WebService
1.1 准备工作
在开始之前,需要下载 Axis 和 XFire 的最新包,并将其依赖的 jar 包放入 lib 文件夹下。同时,需要新建一个工程,并将 axis 和 XFire 的依赖文件添加到工程中。
1.2 Axis 发布 WebService
Axis 是一个基于 Java 的 Web Services 框架,提供了一个简单的方式来发布和调用 Web Services。使用 Axis 可以轻松地发布 Web Services,以下是发布简单数据类型的 Web Service 的步骤:
1. 把 Axis 依赖的 jar 包放入 lib 文件夹下。
2. 在 web.xml 中加入 Axis 的配置信息,例如:
```
<!-- axis ws start -->
<listener>
<listener-class>
org.apache.axis.transport.http.AxisServlet
</listener-class>
</listener>
```
1.3 XFire 发布 WebServices
XFire 是一个基于 Java 的 Web Services 框架,提供了一个简单的方式来发布和调用 Web Services。使用 XFire 可以轻松地发布 Web Services,以下是发布简单数据类型的 Web Service 的步骤:
1. 把 XFire 依赖的 jar 包放入 lib 文件夹下。
2. 在 web.xml 中加入 XFire 的配置信息,例如:
```
<!-- xfire ws start -->
<listener>
<listener-class>
org.codehaus.xfire.transport.http.XfireServlet
</listener-class>
</listener>
```
二、调用 Web Services
2.1 准备工作
在调用 Web Services 之前,需要新建一个工程,并将 Axis 或 XFire 的依赖文件添加到工程中。
2.2 Axis 发布的 WebService 调用方式
Axis 提供了多种方式来调用 Web Services,以下是其中的一些:
1. DynamicInvocationInterface(DII)方式:使用 DII 可以动态地调用 Web Services,以下是示例代码:
```
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
// 创建一个服务对象
Service service = new Service();
Call call = (Call) service.createCall();
// 设置 Web Service 的 URL
call.setTargetEndpointAddress("http://localhost:8080/axis/services/HelloWorld");
// 调用 Web Service
Object result = call.invoke("sayHello", new Object[] {"Hello, World!"});
```
2. DynamicProxy 方式:使用 DynamicProxy 可以动态地调用 Web Services,以下是示例代码:
```
import org.apache.axis.client.DynamicProxy;
// 创建一个动态代理对象
DynamicProxy proxy = new DynamicProxy("http://localhost:8080/axis/services/HelloWorld");
// 调用 Web Service
Object result = proxy.invoke("sayHello", new Object[] {"Hello, World!"});
```
2.3 调用 XFire 发布的 WebService
XFire 提供了多种方式来调用 Web Services,以下是其中的一些:
1. 使用 jar 包形式发布的 Web Service:可以直接使用 XFire 的 Client 包来调用 Web Services,以下是示例代码:
```
import org.codehaus.xfire.client.XfireClient;
// 创建一个 XFire 客户端对象
XfireClient client = new XfireClient("http://localhost:8080/xfire/services/HelloWorld");
// 调用 Web Service
Object result = client.invoke("sayHello", new Object[] {"Hello, World!"});
```
2. 使用 Axis 的 Client 包:可以使用 Axis 的 Client 包来调用 XFire 发布的 Web Services,以下是示例代码:
```
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
// 创建一个服务对象
Service service = new Service();
Call call = (Call) service.createCall();
// 设置 Web Service 的 URL
call.setTargetEndpointAddress("http://localhost:8080/xfire/services/HelloWorld");
// 调用 Web Service
Object result = call.invoke("sayHello", new Object[] {"Hello, World!"});
```
Axis 和 XFire 都提供了简单的方式来发布和调用 Web Services。开发人员可以根据实际情况选择合适的框架和方法来实现 Web Services 的发布和调用。
2019-05-26 上传
2021-10-20 上传
2010-11-01 上传
104 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
2007-10-15 上传
2013-05-01 上传
ucddo
- 粉丝: 1
- 资源: 3
最新资源
- Android项目之——漂亮的平台书架.zip
- 【精品推荐】智慧林业大数据智慧林业信息化建设和运营解决方案汇总共6份.zip
- Draft 2020-03-18 02:58:24-数据集
- test-Greensight
- God to Daddy-crx插件
- WebSystems_MiniProject_3:关于-互联网的工作方式
- ni-compiler:类中ni-compiler的C#版本
- c语言扔香蕉的大猩猩.rar
- aov2apr:具有计划(先验)因子的方差的双向分析。-matlab开发
- datax-web:DataX集成可视化页面,选择数据源即可使用一键生成数据同步任务,支持RDBMS,Hive,HBase,ClickHouse,MongoDB等数据源,批量创建RDBMS数据同步任务,集成嵌入式调度系统,支持分布式,增量同步数据,实时查看运行日志,监控执行器资源,KILL运行进程,数据源信息加密等
- Student-enrollment,c#获取网络数据源码,c#
- hahaCMS v1.0_hahacms_CMS程序开发模板(使用说明+源代码+html).zip
- robofriends
- data-storytelling:Repo在ENSAE主持数据故事课程的项目
- FirstRagic:这是针对Ragic的CRUD操作的实践项目
- 动画注释