xfire 1.2 实现webservice完整流程 1.打开 myeclipse 60 点击 file -->new -->web service project Project name 为 xfirewebservice --》 finash 2.src目录下创建 包和相应的 java文件 如下所示:MathService.java /** * */ package com.test.ws; /** * @author Administrator *implements IMath */ public class MathService { public long add(int p1,int p2) { return p1 + p2; } public long minus(int p3,int p4) { // Todo Auto-generated method stub return p3 -p4; } } 3. 修改 WebServices 文件夹下的 services.xml文件 ,内容如下: 服务名称MathService url :http://localhost:8080/WebserviceTest/MathService 完成服务的 类 <serviceClass>com.test.ws.MathService</serviceClass> 将 WebserviceTest 替换为自己的 项目名称 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>MathService</name> <namespace> http://localhost:8080/WebserviceTest/MathService </namespace> <serviceClass>com.test.ws.MathService</serviceClass> </service> </beans> 4. 部署 webservice 在浏览器 输入 http://localhost:8080/WebserviceTest/services/ 出现如下提示 : Available Services: MathService [wsdl] Generated by XFire ( http://xfire.codehaus.org ) 表示 服务 启动成功, 至此 服务部署完成 测试 服务 : 项目中 需要引入 commons-httpclient-3.0.1.jar包 拷贝至 webroot下的 web-inf目录下的 lib目录中 即可 1. 编写 接口文件 package com.webservice.client; public interface IMath { long add(int p1,int p2); long minus(int p3,int p4 ); } 2. 编写调用 文件 /** * */ package com.webservice.client; import java.net.MalformedURLException; import org.codehaus.xfire.XFireFactory; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.service.Service; import org.codehaus.xfire.service.binding.ObjectServiceFactory; /** * @author Administrator * */ public class Client { public static void main(String[] args) { // Todo 自动生成方法存根 Service srvcModel = new ObjectServiceFactory().create(IMath.class); XFireProxyFactory factory = new XFireProxyFactory(XFireFactory .newInstance().getXFire()); String helloWorldURL = "http://localhost:8080/WebserviceTest/services/MathService"; try { //接口文件 说明有 哪些函数 可以用, helloWorldURL 提示 服务在哪里 IMath srvc = (IMath) factory.create(srvcModel,helloWorldURL); // srvc.add(124,456); System.out.println("调用函数 add得到结果 :" + srvc.add(1516,1515)); System.out.println("调用函数 minus得到结果 :" + srvc.minus(1516,1515)); } catch (MalformedURLException e) { e.printstacktrace(); } } } 测试结果如下 : 调用函数 add得到结果 :3031 调用函数 minus得到结果 :1