问题描述
其实我一直没弄明白, 实现webservice本质上就是一个请求,响应一串XML或者JSON或者其他什么格式类型,只有client和server定义好格式规则(协议),那么就可以通信,完成各种服务调用.springmvc 实现webservice比较直接易懂, 而且我觉得用起来也很好用.然后最近学习到CXF,我就一直没弄明白,为什么要用这个框架实现webservice? 它有什么优点?
解决方案
主要是webservice的协议:http+xml=soap既然是http协议,你只要按照soap协议的规范,自己通过socket来写webservice框架也行的。但是没这个必要,因为成熟稳定的webservice框架已经完成这些事情了。一般webservice的服务端就是通过一个servlet来拦截请求,再交给具体的服务去处理的。注意:这里是服务端,那么客户端呢?客户端如果是简单的xml+post请求肯定是不行的,这里的xml必须符合webservice规范(当然你说如果自己开发服务端、客户端,那么xml是约定好的,怎么不行呢?确实,但是这就不是webservice服务,而是普通的web服务,因为你的服务不是统一的,其它客户端如果要调用,必须使用你的客户端api)所以很多webservice框架都会提供生成客户端工具,目的就是把具体调用的过程封装起来,如果你不用工具,可以直接封装成soap的请求xml,用socket来请求也行
解决方案二:
封装的程度不同,相应的灵活性也会有所不同。
解决方案三:
spring还是springmvc?webservice只是一种标准,有很多框架能实现webservice如cxf,axis、xfire等,spring应该也是通过整合其他框架来实现webserice,如整合cxf。这个和整合struts,整合hibernate的道理是一样的