XFire构建web service客户端的五种方式

使用XFire+Spring构建Web Service(一)——helloWorld篇 XFire是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助你方便快速地开发Web Service应用。相对于Axis来说,目前XFire相对受欢迎,加上其提供了和Spring集成的支持,在目前的Web Service开源社区拥有众多的追随者。并且因为XFire为Spring提供的支持,使得我们可以很容易在Spring中使用 阅读详情

本文主要源于先前看到的一篇文章,为了自己以后查看方便也就转载过来了

原文链接:http://blog.youkuaiyun.com/jadyer/article/details/6082948

另外还有第四种,第五种方法,是从别处看到的 ,在本文最后和大家分享一下

这里并未涉及到JSR 181 Annotations 的相关应用,具体的三种方式如下
① 通过WSDL地址来创建动态客户端 
② 通过服务端提供的接口来创建客户端 
③ 使用Ant通过WSDL文件来生成客户端


第一种方式:通过WSDL地址来创建动态客户端

  1. package com.jadyer.client;  
  2. import java.net.MalformedURLException;  
  3. import java.net.URL;  
  4. import org.codehaus.xfire.client.Client;  
  5. /** 
  6.  * 通过WSDL来创建动态客户端 
  7.  * @see 此时需要在项目中引入XFire 1.2 Core Libraries和XFire 1.2 HTTP Client Libraries 
  8.  */  
  9. public class ClientFromWSDL {  
  10.     public static void main(String[] args) throws MalformedURLException, Exception {  
  11.         Client client = new Client(new URL("http://127.0.0.1:8080/XFire_demo/services/XFireServer?wsdl"));  
  12.         Object[] results11 = client.invoke("sayHello", new Object[]{"Jadyer22"});  
  13.         System.out.println(results11[0]);  
  14.     }  
  15. }  

第二种方式:通过服务端提供的端口来创建客户端

  1. package com.jadyer.client;  
  2. import java.net.MalformedURLException;  
  3. import java.util.List;  
  4. import org.codehaus.xfire.client.XFireProxyFactory;  
  5. import org.codehaus.xfire.service.Service;  
  6. import org.codehaus.xfire.service.binding.ObjectServiceFactory;  
  7. import com.jadyer.model.Person;  
  8. import com.jadyer.model.User;  
  9. import com.jadyer.server.HelloService;  
  10. /** 
  11.  * 通过Web服务端提供的接口来创建客户端 
  12.  * @see 客户端必须提供一个与服务端完全一致的接口,包名也要一致 
  13.  * @see 在本例中,需要在客户端(即该项目)中提供HelloService.java接口,以及Person和User两个POJO类 
  14.  * @see 并且此时需要在项目中引入XFire 1.2 Core Libraries和XFire 1.2 HTTP Client Libraries 
  15.  */  
  16. public class ClientFromInterface {  
  17.     public static void main(String[] args)throws MalformedURLException{  
  18.         //首先使用XFire的ObjectServiceFactory从HelloService接口创建一个服务模型serviceModel  
  19.         //serviceModel包含服务的说明,换句话说,就是服务的元数据  
  20.         //Create a metadata of the service  
  21.         Service serviceModel = new ObjectServiceFactory().create(HelloService.class);  
  22.           
  23.         //访问的地址  
  24.         String serviceURL = "http://127.0.0.1:8080/XFire_demo/services/XFireServer";  
  25.           
  26.         //通过查看org.codehaus.xfire.client.XFireProxyFactory源码发现  
  27.         //下面两行代码与这里直接new XFireProxyFactory()的作用是等效的  
  28.         //XFire xfire = XFireFactory.newInstance().getXFire();  
  29.         //XFireProxyFactory factory = new XFireProxyFactory(xfire);  
  30.         //为XFire获得一个代理工厂对象  
  31.         //Create a proxy for the deployed service  
  32.         XFireProxyFactory factory = new XFireProxyFactory();  
  33.           
  34.         //通过proxyFactory,使用服务模型serviceModel和服务端点URL(用来获得WSDL)  
  35.         //得到一个服务的本地代理,这个代理就是实际的客户端  
  36.         HelloService client = (HelloService)factory.create(serviceModel, serviceURL);  
  37.           
  38.         /** 
  39.          * Invoke the service 
  40.          * @see 调用服务的本地代理(即实际的客户端)中的方法,便得到我们需要的WebServcie 
  41.          */  
  42.           
  43.         /*--处理简单对象--*/  
  44.         String serviceResponse = client.sayHello("Jadyer11");  
  45.         System.out.println(serviceResponse);  
  46.           
  47.         /*--处理对象--*/  
  48.         User u = new User();  
  49.         u.setName("Jadyer99");  
  50.         Person pp = client.getPerson(u);  
  51.         System.out.println(pp.getName());  
  52.           
  53.         /*--处理List--*/  
  54.         List<Person> personList = client.getPersonList(24, "Jadyer88");  
  55.         for(Person p : personList){  
  56.             System.out.println(p.getName());  
  57.         }  
  58.     }  
  59. }  

这是它要用到的接口和两个POJO类

  1. /** 
  2.  * Web服务提供给客户端的接口 
  3.  * @see 这是第二种方式创建的客户端,要用到的接口 
  4.  */  
  5. package com.jadyer.server;  
  6. import java.util.List;  
  7. import com.jadyer.model.Person;  
  8. import com.jadyer.model.User;  
  9. public interface HelloService {  
  10.     public String sayHello(String name);  
  11.     public Person getPerson(User u);  
  12.     public List<Person> getPersonList(Integer age, String name);  
  13. }  
  14. /** 
  15.  * 第二种方式创建的客户端,要用到的两个POJO类 
  16.  */  
  17. package com.jadyer.model;  
  18. public class User {  
  19.     private String name;  
  20.     /*--getter和setter略--*/  
  21. }  
  22. package com.jadyer.model;  
  23. public class Person {  
  24.     private Integer age;  
  25.     private String name;  
  26.     /*--getter和setter略--*/  
  27. }  

第三种方式:使用Ant通过WSDL文件来生成客户端

  1. package com.jadyer.client;  
  2. /** 
  3.  * 使用Ant通过WSDL生成客户端 
  4.  * @see 这里的ClientFromAnt.java是我自己创建的,并非Ant生成 
  5.  * @see 这里要用到的JAR有:xfire-all-1.2.6.jar以及//xfire-distribution-1.2.6//lib//目录中的所有JAR包 
  6.  * @see 我们需要把这些JAR包都拷贝到Web Project//WebRoot//WEB-INF//lib//目录中 
  7.  * @see 然后把build.xml和MyFirstXFireServer.wsdl都拷贝到下Web Project的根目录下即可 
  8.  * @see 关于MyFirstXFireServer.wsdl文件,是我在WebServices服务启动后 
  9.  * @see 访问http://127.0.0.1:8080/XFire_demo/services/XFireServer?wsdl然后将其另存得到的 
  10.  */  
  11. public class ClientFromAnt {  
  12.     public static void main(String[] args) {  
  13.         XFireServerClient client = new XFireServerClient();  
  14.         //String url = "http://127.0.0.1:8080/XFire_demo/services/XFireServer";  
  15.         //String result = client.getXFireServerHttpPort(url).sayHello("Jadyer33");  
  16.         //上面的两行代码,与下面的这一行代码,同效~~  
  17.         String result = client.getXFireServerHttpPort().sayHello("Jadyer33");  
  18.           
  19.         System.out.println(result);  
  20.     }  
  21. }  

用到的Ant文件,如下

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project name="wsgen" default="wsgen" basedir=".">  
  3.     <path id="classpathId">  
  4.         <fileset dir="./WebRoot/WEB-INF/lib">  
  5.             <include name="*.jar" />  
  6.         </fileset>  
  7.     </path>  
  8.       
  9.     <taskdef classpathref="classpathId" name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask"/>  
  10.       
  11.     <target name="wsgen" description="generate client">  
  12.         <wsgen outputDirectory="./src/" wsdl="MyFirstXFireServer.wsdl" binding="xmlbeans" package="com.jadyer.client" overwrite="true"/>  
  13.     </target>  
  14. </project>  

也可以使用下面的这个Ant文件

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project name="xfireAnt" basedir="." default="createClientCode">  
  3.     <property name="xfirelib" value="${basedir}/WebRoot/WEB-INF/lib"/>  
  4.     <property name="sources" value="${basedir}/src"/>  
  5.     <path id="classpath">  
  6.         <fileset dir="${xfirelib}">  
  7.             <include name="*.jar"/>  
  8.         </fileset>  
  9.     </path>  
  10.           
  11.     <target name="createClientCode">  
  12.         <taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="classpath"/>  
  13.         <wsgen outputDirectory="${sources}" wsdl="http://127.0.0.1:8080/XFire_demo/services/XFireServer?wsdl" package="com.jadyer.client" overwrite="true"/>  
  14.     </target>  
  15. </project>  

最后我再把MyFirstXFireServer.wsdl的内容,附加上

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <wsdl:definitions targetNamespace="http://www.jadyer.com/XFireDemo"  
  3.     xmlns:tns="http://www.jadyer.com/XFireDemo"  
  4.     xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"  
  5.     xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"  
  6.     xmlns:xsd="http://www.w3.org/2001/XMLSchema"  
  7.     xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/"  
  8.     xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding"  
  9.     xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/"  
  10.     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">  
  11.     <wsdl:types>  
  12.         <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"  
  13.                     attributeFormDefault="qualified"  
  14.                     elementFormDefault="qualified"  
  15.                     targetNamespace="http://www.jadyer.com/XFireDemo">  
  16.             <xsd:element name="sayHello">  
  17.                 <xsd:complexType>  
  18.                     <xsd:sequence>  
  19.                         <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string" />  
  20.                     </xsd:sequence>  
  21.                 </xsd:complexType>  
  22.             </xsd:element>  
  23.             <xsd:element name="sayHelloResponse">  
  24.                 <xsd:complexType>  
  25.                     <xsd:sequence>  
  26.                         <xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="xsd:string" />  
  27.                     </xsd:sequence>  
  28.                 </xsd:complexType>  
  29.             </xsd:element>  
  30.         </xsd:schema>  
  31.     </wsdl:types>  
  32.     <wsdl:message name="sayHelloRequest">  
  33.         <wsdl:part name="parameters" element="tns:sayHello"></wsdl:part>  
  34.     </wsdl:message>  
  35.     <wsdl:message name="sayHelloResponse">  
  36.         <wsdl:part name="parameters" element="tns:sayHelloResponse"></wsdl:part>  
  37.     </wsdl:message>  
  38.     <wsdl:portType name="XFireServerPortType">  
  39.         <wsdl:operation name="sayHello">  
  40.             <wsdl:input name="sayHelloRequest" message="tns:sayHelloRequest">  
  41.             </wsdl:input>  
  42.             <wsdl:output name="sayHelloResponse" message="tns:sayHelloResponse">  
  43.             </wsdl:output>  
  44.         </wsdl:operation>  
  45.     </wsdl:portType>  
  46.     <wsdl:binding name="XFireServerHttpBinding" type="tns:XFireServerPortType">  
  47.         <wsdlsoap:binding style="document" mce_style="document" transport="http://schemas.xmlsoap.org/soap/http" />  
  48.         <wsdl:operation name="sayHello">  
  49.             <wsdlsoap:operation soapAction="" />  
  50.             <wsdl:input name="sayHelloRequest">  
  51.                 <wsdlsoap:body use="literal" />  
  52.             </wsdl:input>  
  53.             <wsdl:output name="sayHelloResponse">  
  54.                 <wsdlsoap:body use="literal" />  
  55.             </wsdl:output>  
  56.         </wsdl:operation>  
  57.     </wsdl:binding>  
  58.     <wsdl:service name="XFireServer">  
  59.         <wsdl:port name="XFireServerHttpPort" binding="tns:XFireServerHttpBinding">  
  60.             <wsdlsoap:address location="http://127.0.0.1:8080/XFire_demo/services/XFireServer" />  
  61.         </wsdl:port>  
  62.     </wsdl:service>  
  63. </wsdl:definitions>  

第四种方法

这种方法用到了spring的jar包,是前几天在找XFire+Spring的资料的时候看到的,在这里也是做个记录。同样的,这种方法和上面所提到的第二种方法在客户端都需要与服务器一样的接口,包名也必须一样。

(1)在src目录下新建client.xml(名字并非特定)

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  
<beans>  
    <bean id="baseService" class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean" lazy-init="false" abstract="true"/>
<!--    id的名字作为标识,用于客户端程序中获取service,若有多个service咋在下面添加多个bean即可-->
    <bean id="MathService" parent="baseService">
    	<property name="serviceClass">
    		<value>service.MathService</value>
    	</property>
    	<property name="wsdlDocumentUrl">
    		<value>http://localhost:8080/myservice/mathWebService?wsdl</value>
    	</property>
    </bean>
</beans> 

(2)在程序中调用服务代码非常简单

ApplicationContext ctx = new ClassPathXmlApplicationContext("client.xml");

MathService mathService = (MathService)ctx.getBean("MathService");
int result = mathService.add(int one,int two);


第五种办法

先获取到wsdl文件,命名为mathWebService.wsdl放在客户端的src目录下,接着通过程序访问该wsdl文件,并调用需要的方法。

 String wsdl  =   "mathWebService.wsdl " ;  // 对应的WSDL文件 
        Resource resource  =   new  ClassPathResource(wsdl); 
        Client client  =   new  Client(resource.getInputStream(),  null );  // 根据WSDL创建客户实例 
        
        Object[] objArray  =   new  Object[ 2 ];
        objArray[ 0 ]  =   2 ;
        obiArray[1] = 3;
         // 调用特定的Web Service方法 
        Object[] results  =  client.invoke( " add " , objArray);
        System.out.println( " result:  "   +  results[ 0 ]);

对于这几种方法,第一种方法如果传递的参数为服务器端的实体对象,这点好像比较麻烦,不知道在客户端建立和服务器端相同的实体类行不行,没有实践,返回结果如果是复杂数据类型的话不知道有没有什么问题,或者如何转换,没有深入研究。而且我个人觉得方法调用不是那么直观。第三种方法里面

  1. wsdl="http://127.0.0.1:8080/XFire_demo/services/XFireServer?wsdl" 

这个地方我不知道如何添加多个链接,有知道的朋友希望能指明一下,谢谢了。如果只能有这一个服务,那就太囧了。其他的方法倒是不觉得有什么大问题,性能什么的差异并未关注,欢迎大家讨论。

多传感器融合SLAM指南:如何结合视觉与激光雷达提升建图精度 本文深入探讨了多传感器融合SLAM技术,详细解析了如何将视觉传感器与激光雷达(特别是3D激光雷达)进行深度融合以提升建图精度与鲁棒性。文章从传感器特性分析、数据同步标定、前端融合策略(松耦合与紧耦合)到后端优化与地图构建,提供了完整的实战指南,并重点介绍了V-LOAM等经典融合框架的核心思想,旨在帮助开发者构建适应复杂动态环境的高精度SLAM系统。 阅读详情

相关推荐

深入了解torch框架

大国的游戏,政府支持到位,是未来;AI : Artificial Intelligence,旨在研究、开发能够模拟、延伸和扩展人类智能的理论、方法、技术及应用系统,是一种拥有自主学习和推理能力的技术。它模仿人类大脑某些功能,包括感知、学习、理解、决策和问题解决。AI本质​ NLP(说话,听)、CV(眼睛)、自动驾驶、机器人(肢体动作)、大模型三要素:数据、网络、算力① 神经网络:找到合适的数学公式;② 训练:用已有数据训练网络,目标是求最优解;③ 推理:用模型预测新样本;PyTorch,简称Torch

qq_74732076的博客 1135

根据WSDL生成客户端代码(XFire)

根据WSDL生成客户端代码 XFire允许通过运行Ant任务,根据WSDL文件生成访问Web Service的客户端代码存根,同时XFire还提供了一个Eclipse插件完成相同的任务。在本节中,我们将学习通过XFire Eclipse插件生成BbtForumService客户端存根代码的知识。安装Eclipse XFire插件1.Help→Software Updates→Find and I...

weixin_34318272的博客 265

1006. 换个格式输出整数 (15)-PAT乙级真题

1006. 换个格式输出整数 (15)让我们用字母B来表示“百”、字母S表示“十”,用“12…n”来表示个位数字n(&lt;10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。输入格式:每个测试输入包含1个测试用例,给出正整数n(&lt;1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例1...

柳婼 の blog 2242

WSDL自动生成Web Service java 客户端

引用:          最近做系统间数据导入导出时需要用到web service,所以需要通过wsdl生成java客户端来读取数据。 方法一: 使用xfire eclipse plugin生成java客户端 1 安装xfire eclipse plugin,update site: Java代码   http://dist.codehaus.org/xfi

cqboy1991的专栏 3167

顶刊《会计研究》数据复现|最新上市公司数智化数据

本文基于Python文本分析方法构建了中国A股上市公司数智化指标(1991-2024),通过识别年报中的"机器学习""智能医疗"等关键词,量化企业数字化与智能化融合程度。研究发现数智化企业更倾向于非正式渠道的定性披露以规避风险,该指标为监管完善信披规则提供了参考。研究还揭示了数智化对企业信息披露策略的转变,并提出了未来研究方向,包括数智化对绿色创新、ESG表现等影响机制。数据覆盖非金融类上市公司,采用文本挖掘技术构建结构化指标,为相关领域研究提供了微观基础。

PPdata_Academy的博客 1487

单电源运放偏置电压设计:如何避免信号失真

本文详细解析了单电源运放偏置电压设计的关键技术,以LM358为例,探讨如何通过1/2 VCC偏置避免信号失真。文章从基本原理出发,揭示了双端偏置的黄金法则,并提供了常见设计陷阱的解决方案和进阶调试技巧,帮助工程师实现高保真信号放大。

weixin_29266647的博客 292

webService---使用Xfire从WSDL生成客户端(详)

 转自:http://blog.csdn.net/stoneyang2005/archive/2009/02/26/3939117.aspx如果多家供应商为一家用户做Web项目时,往往会用到WebService来进行数据的同步,比如用户同步。若远程调用后返回的值并不是字符串(内容是xml格式),而是供应商甲程序中的实体(如User对象),那么供应商乙若要调用供应商甲提供的WebService接

lifesounds的专栏 3370

基于 YOLOv8 的自动驾驶车辆障碍物检测与避障路径规划

本文探讨基于YOLOv8的自动驾驶车辆障碍物检测与避障路径规划系统。在感知层面,采用YOLOv8模型实现多类别障碍物识别,结合单目视觉距离估计和ByteTrack多目标跟踪算法,完成障碍物的稳定检测与运动状态估计。在路径规划层面,设计分层规划架构,融合全局路径规划与局部避障算法,重点实现Frenet坐标系下的采样优化算法和基于模型预测控制的实时避障轨迹生成。通过完整的代码实现与仿真实验,验证系统在复杂交通场景下的有效性与实时性,为自动驾驶开发者提供从理论到实践的完整技术参考。 关键词:YOLOv8;自动驾驶

huanghm88的专栏 248

xfire .1.2.6 通过ant脚本将 ?wsdl 翻译成webservice客户端

...

jiachenmianyu的专栏 200

DeerFlow 系列教程 第二十篇 | 前端定制与二次开发指南

支持的语言定义在locale.tsLocale 检测采用三级降级策略Cookie 优先:检查localeCookie浏览器语言默认值en-US.value;if (locale!DeerFlow 使用管理主题切换,在根布局中通过主题相关的 CSS 变量定义在中(约 10KB)。: boolean;// 是否支持深度思考。

weixin_43674738的博客 222

深度测评:Accio Work——目前普通用户最友好的多 Agent 协同工具

摘要:Accio Work是阿里国际站推出的多Agent协同工具,通过借鉴古代"三省六部制"构建高效协作框架。该工具支持主流大模型,可配置专业Agent角色,实现40分钟内完成复杂产品PRD等高效协作。其亮点在于直观的UI设计和流程驱动机制,能强制各Agent从专业视角深度思考。虽然超长对话稳定性有待优化,但作为目前最用户友好的多Agent工具,显著降低了构建复杂AI团队的门槛,成为提升个人和小微企业生产力的利器。

Maynor的博客 1729

xfire 客户端代码分析

  xfire客户端代码可以利用工具生成,但有些情况下工具没法生成,无法只能手工编写。本文记录手工编写客户端代码过程。 目录: QName的解释 一、分析自动生成的代码 二、自定义生成的代码 QName的解释 1.来历:qname是qualified name 的简写 2.构成:由名字空间(NS)前缀(prefix)以及冒号(:),

cb_121的专栏 1845

免ROOT、不刷机、不依赖Xposed实现Android改机的思路

最近在一个项目中需要模拟多种Android设备的环境。无奈市面上的大部分改机工具,要么需要ROOT权限,要么依赖Xposed,甚至还得重启设备。为了实现更灵活、更干净的改机方式,我开始了漫长的技术探索,最终找到了免ROOT、不刷机、拒绝Xposed的实现路径。Android_IDIMEI手机序列号手机型号、品牌、CPU型号等硬件信息GPS位置、Wi-Fi参数、通话记录、短信等软硬件数据这些信息通常用于标识设备唯一性,而改机就是对这些标识数据进行模拟或篡改。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2666

Web Service修炼之一XFire入门

Web Service修炼之一XFire入门 一、XFire知识 1、Web Service架构 web Service是独立的、模块化的应用,能够通过因特网来描述、发布、定位以及调用。在Web Service的体系架构中包括三个角色:服务提供者(Service Provider)、服务请求者(Service Requestor)、服务注册器(Service Registry)。角色间主

尹若轩 1252

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JAVA使用XFire开发Web Service客户端几种调用方式

一、服务提供者告诉你interface,你可以使用如下三种方式来开发:  YourService即是服务提供者告诉给你的一个interface(当然,也可以根据WSDL的定义,自己定义一个同样的interface)。  1、简单的方式 Service serviceModel = new ObjectServiceFactory().create(YourService.class);

u014386474的博客 2675

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

XFire发布Web Services

步骤 1. 把XFire依赖的jar包放入lib文件夹下。   2. 在web.xml中加入如下代码:   3. 编写程序代码 首先编写一个功能的接口类。 package com.yc.web.services; public interface HelloWorldService {     public void sayHello();

至道 892

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

使用Xfire和Spring配置web service

一.环境 Jdk1.5,Eclipse3.2,MyEclipse5.5,Xfire1.2.6,Spring1.2 二.服务端 使用Xfire配合spring把一个pojo发布成web服务有很多种方法,这里采用的是配置最简单的JSR181注解。 1.       建立web工程,工程名为wsserver 2.       把spring的核心库(Spring1.2 Core Librari

2943

使用XFire开发webservice服务和客户端全攻略

                XFire是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助你方便快速地开发Web Service应用。相对于Axis来说,目前XFire相对受欢迎...

qq_44910624的博客 349

使用MyEclipse构建Web Service(Xfire框架)

任务要求:使用Xfire实现一个简单的“Hello, World”Web Services,作业应当包括相关的实现软件代码以及对应的WSDL。   环境搭建:MyEclipse 6.5,XFire 1.2.6,Tomcat 5.5 XFire下载地址:http://xfire.codehaus.org/Download,下载时选择Binary Distribution in zip pack...

nalnait的专栏 229

Web Service之XFire(三)

首先是使用WSDL协议实现:这里使用XFire,XFire一个免费、开源的SOAP框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,其原理是以接口反射机制自动取得远程方法的什么是wsdl?  参考: http://blog.csdn.net/sunchaohuang/archive/2008/10/14/3076375.aspx下面开始介绍如何...

哀&RT 668

java xfire 客户端代码,java xfire+ spring 公布服务端web service 以及客户端调用

当前位置:我的异常网» Web前端»java xfire+ spring 公布服务端web service 以及客java xfire+ spring 公布服务端web service 以及客户端调用www.myexceptions.net网友分享于:2013-09-08浏览:34次java xfire+ spring 发布服务端web service 以及客户端调用发现,在客户端调用...

weixin_31297157的博客 157

在Spring中使用XFire构建Web Service应用

概述 XFire是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助你方便快速地开发Web Service应用。XFixe内建在STAX的基础上之上,STAX是基于流的XML解析引擎,这使得XFire拥有很高的性能。 相对Axis来说,目前它的人气指数相当高,加上其提供了和String集成的支持,在目前的Web Service开源...

doloveme的专栏 182

使用XFire+Spring构建Web Service

XFire是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助你方便快速地开发Web Service应用。 相 对于Axis来说,目前XFire相对受欢迎,加上其提供了和Spring集成的支持,在目前的Web Service开源社区拥有众多的追随者。并且因为XFire为Spring提供的支持,使得我们可以很容易在Spr...

dimo1738的博客 164

xfire开发实例--HelloWorld篇

    本文从最基础的HelloWorld用例开始,介绍如何利用xfire开发web service应用。以后就可以开发复杂的web service应用了。 开发环境:eclipse3.2+tomcat5.5.9+xfire1.2.6一:在eclipse中新建项目XFireProject1、建立源文件夹src.main;新建HelloService.java文件,该java文件只声

juxtapose的专栏 2万+
上一篇: XFire + Spring构建Web Services服务器端(二)
下一篇: java读写文件大全
java_4_ever
博客等级 码龄16年 8粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值