webservice

preview
需积分: 0 311 下载量 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
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源