xfire使用心得

    虽然现在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值