webservice
需积分: 0 54 浏览量
更新于2009-03-18
收藏 354KB PDF 举报
### WebService概述
WebService是一种支持通过网络进行标准通信的应用程序组件或模块,它采用XML作为数据交换的标准格式,使得不同编程语言编写的程序之间能够互相通信。WebService的主要优点包括:
- **跨防火墙通信**:由于WebService使用HTTP协议传输数据,因此可以轻松穿过防火墙。
- **应用程序集成**:WebService允许不同平台上的应用之间相互调用,从而实现集成。
- **B2B集成**:企业可以通过WebService与其他企业进行业务交互。
- **软件和数据重用**:开发人员可以利用现有的WebService功能来构建新的应用程序。
### XFire简介
XFire是一个基于Java的开源WebService框架,它的设计目标是简单易用且高性能。通过XFire,开发者可以将Java类的方法发布为WebService,而无需编写额外的代码。这种方式极大地简化了开发流程,并提高了开发效率。
### MyEclipse中的WebService创建步骤
在MyEclipse中创建WebService通常涉及以下几个步骤:
#### 定义接口
首先需要定义一个接口(Interface),该接口定义了WebService提供的方法。例如,下面是一个简单的`IMenuService`接口示例:
```java
package org.nitpro.xfire;
import java.util.Date;
import java.util.List;
public interface IMenuService {
public String getMenuName();
public Date getCreateDate();
public List getMenuList(int count, Date date, List userlist);
}
```
此接口包含了三个方法:`getMenuName()`用于获取菜单名称;`getCreateDate()`返回创建日期;`getMenuList(int count, Date date, List userlist)`根据输入参数返回菜单列表。
#### 实现类
接下来定义一个实现上述接口的类。在这个例子中,`MenuService`类实现了`IMenuService`接口。
```java
public class MenuService implements IMenuService {
public String getMenuName() {
return "菜单树";
}
public Date getCreateDate() {
return new Date();
}
public List getMenuList(int count, Date date, List userlist) {
List<String> menulist = new ArrayList<String>();
menulist.add("节目导航");
menulist.add("分类列表");
return menulist;
}
}
```
#### 配置文件
为了使XFire能够识别并提供这些服务,还需要在`services.xml`文件中进行配置。
```xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>menu</name>
<namespace>http://localhost:8080/myxfire/menu</namespace>
<serviceClass>org.nitpro.xfire.IMenuService</serviceClass>
<implementationClass>org.nitpro.xfire.MenuService</implementationClass>
</service>
</beans>
```
这里定义了一个名为`menu`的服务,指定了命名空间和服务类与实现类。
#### web.xml配置
此外,还需要在`web.xml`文件中配置XFire Servlet。
```xml
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
```
这段配置指定了XFire Servlet的启动顺序以及URL模式。
### 测试部署
完成配置后,可以在浏览器中访问以下URL来测试服务是否成功部署:
```
http://localhost:8080/myxfire/services/menu?wsdl
```
其中,“menu”对应于`services.xml`文件中的`<name>`节点,而“services”则与`web.xml`文件中的`<url-pattern>`节点相对应。
### 客户端调用
客户端可以通过调用服务的URL来获取WebService提供的功能。例如,以下Java代码展示了如何调用`getMenuName()`方法:
```java
XFireProxyFactory factory = newXFireProxyFactory();
Service service = new ObjectServiceFactory().create(IMenuService.class);
String url = "http://192.168.0.130:8080/myxfire/services/menu";
IMenuService menu = (IMenuService) factory.create(service, url);
String str = menu.getMenuName();
Date date = menu.getCreateDate();
List userlist = new ArrayList();
List menulist = menu.getMenuList(2, date, userlist);
```
这里通过`XFireProxyFactory`创建了一个代理对象,并调用了`getMenuName()`等方法。
### 总结
通过以上步骤,我们不仅可以了解WebService的基本概念,还可以掌握如何在MyEclipse中使用XFire框架来创建、配置和测试WebService。这种技术对于实现不同系统之间的通信非常有用,尤其是在企业级应用中。
hoolio
- 粉丝: 1
- 资源: 4
最新资源
- 西电微机原理实验-西安电子科技大学微机原理课程实验概述与指导
- 智慧校园(校园AI 产品) 校园安全 智慧校园 教育数字化 AI校园
- 西电微机原理实验四:8255可编程并行接口的应用
- 基于 Go+Echo 开发的多房间实时通讯系统。详细文档+优秀项目+全部资料.zip
- 基于 Go + Vue 的现代化博客系统详细文档+优秀项目+全部资料.zip
- 基于 go + grpc + consul 的微服务系统详细文档+优秀项目+全部资料.zip
- 基于 golang goframe + vue3 的、前后端分离的后台管理系统快捷使用模板,支持按钮级别的 RBAC。详细文档+优秀项目+全部资料.zip
- 基于 goframe2 和vue3 开发的全栈前后端分离的后台管理系统,详细文档+优秀项目+全部资料.zip
- 基于 Golang 的 容器管理系统 API详细文档+优秀项目+全部资料.zip
- 基于 React 实现的电商后台管理系统的前端项目详细文档+优秀项目+全部资料.zip
- 基于 Golang开发的微服务网关,能够实现高性能 HTTP API 转发、服务编排、多租户管理、API 访问权限控制等目的,拥有强大的自定义插件系统可以自行扩展详细文档+优秀项目+全部资料.zip
- 基于 Vue + Go 实现客户关系管理系统,,主要功能有仪表盘、客户管理、合同管理、产品管理、配置、订阅等功能详细文档+优秀项目+全部资料.zip
- 基于beego v2.0.1框架和AdminLte前端框架,开发的go语言通用后台系统,详细文档+优秀项目+全部资料.zip
- 基于 SpringBoot + Spring + SpringMvc + Mybatis + Shiro+ Redis 开发单点登录管理系统详细文档+优秀项目+全部资料.zip
- 基于beego的简易blog系统详细文档+优秀项目+全部资料.zip
- 基于Beego开发的可切换模板的 BBS 社交博客系统、它安装简单便捷,页面简介优美。前端是HTML+JS+CSS,不需要掌握一些前端技术栈也能轻松自定义页面。详细文档+优秀项目+全部资料.zip