如何在eclipse中创建xfire工程?如何使用xFire开发
XFire:一个领先的SOAP框架
XFire是一款免费开源的SOAP框架,它为开发者提供了一个便捷的环境,并提供了许多Web Services规范的高级特性,这些特性在多数商业或开源工具中难以找到。
在XFire开发过程中,关于返回数据类型的处理曾遇到一些挑战。一篇关于设置名字和类型的指南被查到,因此被收藏起来。该指南详细描述了如何通过提供“typeName”属性来设置自己的名字。其中涉及的映射和组件配置方法,如“getListofListofDoubles”方法的返回类型设置,以及“SomeDoubles”和“LotsOfDoubles”等组件的类型定义,都是重要的技术细节。
对于xfire客户端,它依赖一些特定的包。有时可能会出现一些错误,如java.lang.NoSuchMethodError和javax.xml.stream.FactoryConfigurationError等。为了解决这些问题,需要正确配置类路径中的包,并确保包含StAX接口的实现。所需的包包括mons-httpclient、jaxen、jdom、stax-api、stax-utils、sdl4j、ss4j、stx-asl以及xfire相关的jar文件。
关于Axis2和XFire的比较,Axis2是Apache下的一个重量级WebService框架。它是一个Web Services / SOAP / WSDL引擎,集成了多种WebService框架的功能,不仅能制作和发布WebService,还能生成Java和其他语言的客户端和服务端代码。这使得Axis2在跨语言开发方面具有优势。这也导致了Axis2的复杂性增加,依赖的包数量和大小都很惊人,打包部署发布较为麻烦,难以与现有应用整合为一体。相反,XFire作为一个高性能的WebService框架,在Java6之前备受瞩目。XFire的优点在于开发方便,与现有的Web整合良好,可以无缝融入现有应用,并且使用起来也相对简单。对于Java之外的语言,XFire并没有提供相关的代码工具。
XFire一度因其卓越的表现被Apache纳入旗下,但随着Java6 JWS的兴起,其他开源的WebService引擎逐渐失去了光彩。Apache CXF作为一个重要的SOA简易框架,继承了XFire项目的精髓并进行了改造,如同Struts2脱胎于WebWork。尽管CXF是一款优秀的Web Services / SOAP / WSDL引擎和ESB总线,为SOA的实施提供了有力的支持,但它并不完美,只是实现了SOA架构的一部分。在选择上,开发者需要根据实际需求进行考量。
如果应用程序需要支持多种语言,Axis2无疑是首选。若应用程序遵循Spring哲学路线,特别是针对嵌入式的Web Services,Apache CXF是更好的选择。但如果应用程序没有特殊需求,建议继续使用原有项目所依赖的框架,比如Axis1、XFire、Celtrix或BEA等厂家的Web Services实现,避免不必要的改动。
关于APP_CODE编写的类,在同一WEB项目的代码中使用无需额外引用。在default.cs中,只需通过简单的语法“N.XXX x=new N.XXX”即可实例化类。
WebService是一种能够实现跨语言、跨平台、分布式系统间整合的方案。它就像一条纽带,通过企业服务总线(ESB)将这些系统紧密连接起来。WebService采用简单对象访问协议(SOAP)进行通信。在实际项目中,调用WebService的方式多种多样,常见的有使用axis、xfire和cxf进行调用。
以axis调用为例,记录如下,以作备忘。曾经的项目中采用的是xfire方式进行调用,但因未做记录,现在已无法回忆起具体操作步骤。我们强烈建议在做技术选型或实施时,做好相关记录和备份。WebService的灵活性和便捷性为分布式系统的整合提供了强有力的支持,是当代软件开发不可或缺的一部分。
在WebService的世界里,每一条线索、每一个框架都有其独特的价值和地位。了解它们的特性和优势,根据实际情况进行选择和应用,是每一个开发者需要掌握的技能。