用XFire1.2来开发WebService

Spring集成XFire开发WebService Spring是目前最流行的JavaEE Framework,但是使用Spring的Spring-WS开发WebService却十分繁琐。XFire是一个简化WebService开发的开源项目,通过Spring和XFire的结合可以大大简化基于Spring Framework的应用中的WebService开发。 Spring和XFire可以通过多种方式结合,下文介绍的是笔者常用的一种简单而实用 阅读详情

参考:

 http://kaguvivian.javaeye.com/blog/114670  Eclipse下使用Xfire创建WebService入门示例

http://www.360doc.com/showweb/0/0/516946.aspx  XFire:轻松简单地开发Web Services

我直接帖自己修改的代码了...(太懒了...反正也是参看别人的....)

先是一个WebService接口:  (IBankingService )
------------------------------------------------------------------------------------
package com.thx.bank;

public interface IBankingService {

 public String transferFunds(
   String fromAccount, String toAccount,double amount, String currency);
}
-----------------------------------------------------------------------------------

然后实现类: (BankService)
-----------------------------------------------------------------------------------
package com.thx.bank;

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class BankService implements IBankingService {

 public BankService(){}
 
 @Override
 public String transferFunds(String fromAccount, String toAccount,
   double amount, String currency) {

  String msg = "";
  
  try{
   NumberFormat nf = new DecimalFormat("###,###,###,###.00");
   msg = "COMPLETED: " + currency + " " + nf.format(amount)+    
         " was successfully transferred from A/C# " + fromAccount + " to A/C# " + toAccount;
  }catch(Exception e){
   msg = e.toString();
  }
  return msg;
 }

}
----------------------------------------------------------------------------------

客户端测试: (BankClient)
--------------------------------------------------------------
package com.thx.bank.client;

import java.net.MalformedURLException;
import org.codehaus.xfire.XFire;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;

import com.thx.bank.IBankingService;

public class BankClient {

 public String callWebService(String fromAccount, String toAccount,double amount, String currency){
  //Create a metadata of the service 创建一个service的元数据service
  Service serviceModel = new ObjectServiceFactory().create(IBankingService.class);
  System.out.println("callSoapServiceLocal(): got service model." );
  //Create a proxy for the deployed service 用XFireProxyFactory(代理工厂)为发布的服务创建一个代理工厂
  XFire xfire = XFireFactory.newInstance().getXFire();
  XFireProxyFactory factory = new XFireProxyFactory(xfire);
  //得到一个服务的本地代理
  //String serviceUrl = http://localhost:8080/WSDemo/services/Banking;
  String serviceUrl = "xfire.local://Banking";//换成这个访问速度更快(资料上说的),不管怎么说至少没hardcode了
  IBankingService client = null;
  //代理工厂创建客户端服务对象
  try{
   client = (IBankingService)factory.create(serviceModel,serviceUrl);
  }catch(MalformedURLException e){
   System.out.println("WsClient.callWebService(): EXCEPTION: " + e.toString());
  }
  //调用服务 返回状态结果信息
  String serviceResponse = "";
  try {
   serviceResponse = client.transferFunds(fromAccount, toAccount, amount, currency);
  } catch (Exception e) {
   System.out.println("WsClient.callWebService(): EXCEPTION: " + e.toString());
   serviceResponse = e.toString();
  }
  return serviceResponse;
 }
}

----------------------------------------------------------------

用MyEclipse创建的WebService服务会在左边的项目的结构中自动创建一个和WebRoot同级的WebServices目录,里面有一个services.xml(注意是复数),该文件在项目部署后在(项目名/WEB-INF/classes/META-INF)目录下
---------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">

 <service>
  <name>Banking</name>
  <namespace>mybank</namespace>
  <serviceClass>com.thx.bank.IBankingService</serviceClass>
  <implementationClass>com.thx.bank.BankService</implementationClass>
 </service>

</beans>
--------------------------------------------------------------------------------------

测试页面: (index.jsp)
-------------------------------------------------
<%@ page contentType="text/html; charset=utf-8"%>
<html>
  <body>
    Bank test : give my money to you!   
     <form name="form1" action="say.jsp" method="POST">   
      your account ID:<input name="toAcc" type="text"/><br/>
      How much do you want:<input name="amount" type="text" />
      <input type="submit" value="提交">
      </form>
  </body>
</html>
------------------------------------------------------

调用WebService页(say.jsp)
------------------------------------------------------
<%@ page contentType="text/html; charset=utf-8"%>
<%@ page import="com.thx.bank.client.BankClient"%>
<%
 String toAcc = request.getParameter("toAcc");
 double amount = new Integer(request.getParameter("amount")).doubleValue();
 String fromAccount = "sophie";
 String currency = "RMB$";
 String Message = new BankClient().callWebService(fromAccount,toAcc,amount,currency);
%>
<html>
  <body>
    Message from WebService:<%=Message %>
  </body>
</html>
-----------------------------------------------------

请注意一下自动生成的web.xml,功能其实就是过滤器.

好了,祝测试成功.

WebService框架大比较(Axis,axis2,Xfire以及cxf) http://ws.apache.org/axis/ http://axis.apache.org/axis2/java/core/ http://xfire.codehaus.org/ http://cxf.apache.org/ XFire与Axis1性能的比较  1、XFire比Axis1.3快2-6倍  2、XFire的响应时间是Axis1.3的1/2到1/5 A 阅读详情

相关推荐

windows的rancherDesktop修改镜像源

Rancher Desktop中的“Allowed Images”功能(通常在 Preferences -> Container Engine -> Allowed Images 中找到)是用来定义一个允许拉取和推送的镜像列表的规则,例如,只允许从您组织或特定的受信任的仓库中获取镜像。如果问题依旧,请提供您Rancher Desktop的版本和当前选择的容器运行时,以便进一步协助。总结一下,对于Windows上的Rancher Desktop,如果您使用默认的。,镜像源的配置通常通过一个名为。

zwjapple的专栏 2695

spring3.0整合Xfire1.2.6 开发webservice

<br />我的web项目使用了spring3.0.3框架,服务器是Tomcat6.0,要将service层的一个接口发布成webservice,使用的是Xfire1.2.6框架,以下是基本步骤:<br /> <br />(1) 导入环境所需jar包<br /> <br />需要的spring3.0.3的jar包只有一个:org.springframework.web.servlet-3.0.3.RELEASE.jar<br />xfire-all-1.2.6.jar,xfire的jar包<br />jdo

zzycgfans的blog 6487

3线SWD接线终极指南:用Jlink调试非3.3V设备的5个关键细节

本文详细解析了使用Jlink调试非3.3V设备时,3线SWD接线的5个关键细节。核心在于正确理解并连接Vref引脚以实现电压适配,避免供电冲突,并掌握精简接线法与固件修复技巧。文章以STM32F205等芯片为例,指导开发者安全、高效地进行混合电压调试。

e4f5g6h7的博客 437

tomcat6+spring2.5+xfire1.2开发webservice报错原因

<br />02 16 15:58:07 ERROR [http-8090-55] binding.PostInvocationHandler - org.codehaus.xfire.fault.XFireFault: Couldn't write message.<br />02 16 15:58:07 INFO  [http-8090-55] handler.DefaultFaultHandler - Fault occurred!<br />javax.xml.stream.XMLStreamExc

技术学习与分享 2723

Anomalies,Factors,andMultiFactorModels

转 Anomalies, Factors, and Multi-Factor Models 作者:石川,量信投资创始合伙人,清华大学学士、硕士,麻省理工学院博士;精通各种概率模型和统计方法,擅长不确定性随机系统的建模及优化。知乎专栏:https://zhuanlan.zhihu.com/mitcshi。未经授权,严禁转载。 摘要:本文解释了异象、因子以及多因子模型的区别和联系;梳理了从异象到因子再...

绿杨 792

2024年全国大学生电子设计竞赛A题_AC-AC变换电路并联运行

AC-AC变换电路并联运行(A 题)【本科组】

qq_74395263的博客 7833

XFire架构实现

XFire - XFire安装包:XFire框架目前最后的一个版本是1.2.6,在2007年5月3日发布,可以访问xfire.codehaus.org下载XFire框架的安装包。   解压缩后形成的文件目录结构如下: · api目录:api目录中是XFire框架中所有类(class)对应的API文档,为开发者使用XFire完成应用开发提供帮助。 · examples目录:examples目录中包含了所有随XFire二进制包发布的实例,包括这些实例的源代码和相关Web应用配置内

lililili656565的博客 785

【报错】sqli-labs靶场搭建出现“Unable to connect to the database: security”

搭建sqli-labs靶场时,“Unable to connect to the database: security”报错解决

九芒星的博客 2988

Java WebService入门实例

Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。 Web Service的关键技术和规则: 1.XML:描述数据的标准方法. 2.SOAP:表示信息交换的协议(简单对象访问协议). 3.WSDL:Web服务描述语言. 4.UDDI:通用描述、发现与集成,他是一种独立于平台,基于

Golden_lion的博客 3830

同济土木非0基础三个月跨考复旦计算机攻略

跨考cs攻略前言我cs专业课如何复习How to start from zero简历其他复试 前言 建议多去工地/化工厂涡轮增压一下 我 同济土木gpa 3.2/5 挂科 * n 辣鸡项目 * n (padding 简历) 21考复旦计算机专硕 10月-12月 学习+复习 总分392 政治 68;背肖4即可 英语二 78 裸考,(高考英语140+);做点真题,建议据自己情况准备 数学二 142 ;(高考数学接近满分);做真题+模拟题,每天写一张试卷 专业课 104 ,考试生病了,下文展开。 cs专业课

piglake的博客 7236

C#海康威视摄像头控制,将IntPtr转换成Bitmap图片

C#通过skd控制海康威视摄像头,获取bitmap格式图片

ReflexMechanism的博客 6584

当前流行的几种开发webservice平台使用方法,性能对比及开发要点

 最近在做一些关于webservice的项目,项目做完之后对当前流行的几种webservice的开发平台做了学习,比较,以下是各个平台开发实例,供大家参考,其中也含有我个人在开发过程中的一些感受和观点,纯属抛砖引玉,如有不对请指出,废话不多说直接进入正题。 目前比较流行的开发webservice的平台很多,主流的有如axis1.X,axis2.X,xfire,CXF等等,其中axis1.X属于第...

zhangsh029的博客 522

《C++等级认证CCF-GESP真题解析》专栏总目录

❤️ 专栏名称:《C++等级认证CCF-GESP真题解析》🌸 专栏介绍:中国计算机学会GESP《CCF编程能力等级认证》C++编程(1~8级)历届真题解析。🚀 订阅专栏:订阅后可阅读专栏内所有真题解析,真题持续更新中,欢迎订阅!

人生就是一个不断学习的过程 6287

eclipse(3.7.0)+tomcat(6.0)+xfire(1.2.6) webservice的服务器与客户端开发

初次接触webservice开发,在部署上遇到了不少问题,现整理如下: webservice 简单来说就是使自己的应用程序成为web程序。 开始一直很迷茫webservice与javaweb有什么区别,至写本文档时仍让感觉不很清晰,希望看到的大侠能给以解答。好了废话不说了,以下是正文! 一、服务器端开发 1.下载xfire:   http://xfire.codehaus.org/Do...

guwh 212

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java webservice开发和调用(jdk1.5+eclipse3.4 + tomcat5.5+axis1.4+xfire1.2.6)

0. 下载一个jdk1.5版本的。并且如果Oracle与之冲突..就删掉Oracle的所有环境变量。虽然这样做有点过,但是我的确受够了jdk1.6+eclipse3.1+oracle中的jre 1.1.3和 1.8.1版本的冲突。另外jdk1.6会与eclipse3.1在启动tomcat上冲突。我也不知道具体是什么原因。1. 下载一个Eclipse 3.4 for J2EE版本的http://

帐前卒 专栏 7852

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

XFire1.2.6配置篇--初级

XFire1.2.6配置篇--初级 收藏        Web Services使我们能够在网络上建立分布式系统,应用程序组件可以通过任何平台、任何语言和任何方式访问。无论应用程序如何开发,使用了什么语言,以及运行在什么操作系统平台上,只要它作为Web Service,并且为协同解决问题而设计,那么你的应用程序,以任何语言开发或在任何平台上,都可以利用它的服务。这是Web Service的主要概念

冰城潇湘的专栏 673

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

webService xfire FAQ

1、Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/methods/RequestEntity at java.lang.Class.getDeclaredConstructors0(Native Method) 原因:缺少webservice的c...

adr5970的博客 171

eclipse开发webService HellowWorld实例

在使用MyEclipse、XFire和tomcat 5或6开发WebService 时,启动Tomcat时抛出以下异常: Error initializing XFireServlet. java.lang.IllegalStateException: Could not find valid implementation for: 2.0 at org.apache.xbean.sp...

zjw140118的专栏 258

何配置xfire1.2.6

xfire是与Axis 2并列的新一代WebService框架。具有如下: 1、支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security等 ; 2、使用Stax解释XML,性能有了质的提高。xfire采用Woodstox 作Stax实现; 3、Easily Create Services from POJOs; ...

weixin_34112208的博客 231

XFire soap1.2以及默认绑定下的服务发布方式

利用xfire开发webservice时,在META-INF下的service.xml

vincent50411的专栏 2451

【转】MyEclipse下XFire开发Webservice实例

?MyEclipse下XFire开发Webservice实例      最近在研究JAVA开发Webservice,发现网络上比较流行的几种选择AXIS、XFire、CFX(XFire的下一代),前几天转了几篇关于这三种选择的比较的文章,对它们已经有了些概念。决定自己实践一个例子     在开始前,先介绍一些概念:     XFire Java SOAP框架概述 (摘自:http://tech.i

218

使用XFire和tomcat 5或6开发WebService 时报错

Could not find valid implementation for: 2.0异常使用MyEclipse、Spring 2.0、XFire和tomcat 5或6开发WebService 时,初始化Spring对象时抛出以下异常:Error initializing XFireServlet.java.lang.IllegalStateException: Coul

suzhihao的专栏 1065

org.codehaus.xfire.aegis.AegisBindingProvider

刚好学习webservice(xfire)时遇到如下错误: Exception in thread "main" org.codehaus.xfire.XFireRuntimeException: Couldn't find a binding provider!.  Nested exception is java.lang.ClassNotFoundException: org.cod

lijia900924的专栏 4799

WebService的开发手段

一、WebService的开发手段 目前有关webService的开发手段有2种 1、JDK开发(jdk必须是1.6及以上版本,因为jdk是在1.6版本中引入并支持webservice开发的); 2、采用webservice框架开发,目前流行的webservice框架有已知的有如下几种:Apache Axis1、Apache Axis2、Codehaus XFire(xfire方式)、Ap...

weixin_30832405的博客 106
上一篇: Ajax 在 IE7 下出错的解决
下一篇: JAVA面向接口编程的一点人生感悟
mx1029
博客等级 码龄24年 5粉丝 9原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值