XFire完整入门教程.doc_第1页
XFire完整入门教程.doc_第2页
XFire完整入门教程.doc_第3页
XFire完整入门教程.doc_第4页
XFire完整入门教程.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XFire完整入门教程 本Blog所有内容不得随意转载,版权属于作者所有。如需转载请与作者联系( )。未经许可的转载,本人保留一切法律权益。一直以来,发现有某些人完全不尊重我的劳动成果,随意转载,提醒一下那些人小心哪天惹上官司。网上关于XFire入门的教程不少,要么是讲得很简单,就像Hello World一样的程序,要么就是通过IDE集成的工具来开发的,这对于不同的人群有诸多不便,关于XFire的一些详细的信息就不再多讲,可以参考官方网站和相关的文档,这里讲一个完整的入门实例。实例中包括三个情况,我想基本上可以概括所有的需求,或者自己稍加扩展即可。先来看看我们的Interface。1 package test;2 3 import java.util.List;4 5 public interface IHelloService 6 public StringsayHello(Stringttt);7 8 public Coursechoose(Useru);9 10 public Listtest(Listt);11 这其中包含了简单对象的传递,对象的传递,List的传递。具体的开发步骤如下:1、定义Web Service的接口,代码见上面的接口定义。2、实现接口和业务逻辑,代码如下:1packagetest;23importjava.util.ArrayList;4importjava.util.List;56publicclassHelloServiceImplimplementsIHelloService78publicStringsayHello(Stringttt)9returnHello,+ttt;101112publicCoursechoose(Useru)13System.out.println(u.getName();14Coursec=newCourse();15c.setName(Eee);16returnc;17181920publicListtest(Listt)21for(inti=0;it.size();i+)22System.out.println(String)t.get(i);2324Listal=newArrayList();25Coursec=newCourse();26c.setName(EeeDDDDDD);27al.add(c);28returnal;293031用到的User和Course两个类的代码如下:1packagetest;23publicclassUser4privateStringname;56publicStringgetName()7returnname;8910publicvoidsetName(Stringname)11=name;1213141packagetest;23publicclassCourse4privateStringname;56publicStringgetName()7returnname;8910publicvoidsetName(Stringname)11=name;1213143、编写XFire要求的WebSevice定义描述文件,如下:12345HelloService6http:/test/HelloService7test.IHelloService8test.HelloServiceImpl91011此文件放在src/META-INF/xfire/services.xml,编译时会自动编译到classes的相应目录下面。最近有些朋友因使用Spring2.0以上版本时,会发生如下异常:ERROR-ErrorinitializingXFireS.springframework.beans.factory.BeanDefinitionStoreException:Unrecognizedxbeanelementmapping:beansinnamespace/config/1.0当出现如下异常时,请将此文件用如下内容替换:1237HelloService8http:/test/HelloService9test.IHelloService10test.HelloServiceImpl1112134、因为我们用到了List等集合类型,所以需要定义Mapping关系,文件名为:src/test/IHelloService.aegis.xml,代码如下:123456789请注意,此文件一定要放到与IHelloService.java相同的目录下面,否则会出错。5、在Web.xml中配置XFire需要用到的Servlet,代码如下:12678XFireServlet910org.codehaus.xfire.transport.http.XFireConfigurableServlet1112131415XFireServlet16/servlet/XFireServlet/*17181920XFireServlet21/services/*2223242526index.jsp2728此时Web Service的服务端就开发完成了。我们来看看客户端的代码吧,也很简单,如下:1packagetest;23.MalformedURLException;4importjava.util.ArrayList;5importjava.util.List;67importorg.codehaus.xfire.XFireFactory;8importorg.codehaus.xfire.client.XFireProxyFactory;9importorg.codehaus.xfire.service.Service;10importorg.codehaus.xfire.service.binding.ObjectServiceFactory;1112publicclassClient1314publicstaticvoidmain(Stringargs)1516ServicesrvcModel=newObjectServiceFactory()17.create(IHelloService.class);18XFireProxyFactoryfactory=newXFireProxyFactory(XFireFactory19.newInstance().getXFire();2021StringhelloWorldURL=http:/localhost:8080/xfiretest/services/HelloService;22try23IHelloServicesrvc=(IHelloService)factory.create(srvcModel,24helloWorldURL);25System.out.println(srvc.sayHello(Robin);2627Useru=newUser();28u.setName(RRRRR);29Coursec=srvc.choose(u);30System.out.println(c.getName();3132Listal=newArrayList();33al.add(1212);34al.add(2222);35Listt=srvc.test(al);36for(inti=0;it.size();i+)37Courseco=(Course)t.get(i);38System.out.println(co.getName();39404

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论