`
cisumer
  • 浏览: 81031 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

xfire使用心得

    博客分类:
  • J2EE
阅读更多

    虽然现在xfire有点过时了,似乎现在axis和cxf才是王道。不过个人认为xfire还是提供了比较好的实现方式,尤其是在绑定方式上,并且xfire提供了很简单的服务发布模式,如果是简单的webservice应用,使用xfire足够了。

    在之前一个项目中使用了webservice和c语言编写的通信程序交互,c语言使用的是gSOAP,Java当然用的是xfire了。在开发过程中对xfire的运行原理深入了解了一些,对xfire的使用有一些心得:

1、首先,xfire可以单独启动一个服务器作为webservice服务的容器,这个服务器就是大名鼎鼎的jetty,所以有这方面需求的时候需要导入jetty的包。注意的是如果使用jetty6.1.26,Servlet API的版本需要时2.4以上。

2、一般的教程都是使用的配置文件的方式,在此就不再多说了。我看了一下源代码,如果使用jetty,在xfire内部有一个XFireServlet,这个类内部使用的是ObjectServiceFactory在加载Service服务,也就是说可以直接把一个对象变成webservice服务。

3、在深入一些,发现在XfireServlet中注册服务使用的是ServiceRegistry在注册Service,这个ServiceRegistry是从XFire对象中获取的。而XFire对象在系统中是单例的。

4、可以使用注解的方式,这个可以使用AnnotationServiceFactory在加载Service。在此需要注意当参数为JavaBean时,需要为参数类添加@XmlType,在客户端调用是,参数类需要制定namespace,不然参数值无法解析。

5、Service对象可以调用setPropety方法指定一些head参数,比如用户名密码。另外可以调用setInvoker方法设置执行对象,可以自己实现Invorker对象,在执行时进行额外处理。

 

转载请注明出处~!谢谢。http://cisumer.iteye.com/blog/1002504

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics