cxf 闲地没事为啥要去支持rest?

是这样的,我感觉rest与webservice本来就是soa的两种不同方式。那么为何apache cxf 还要支持将webservice 设成 rest方式返回json呢?

比如struts2 action 或 servlet都直接支持以http方式返回json或xml,最新的struts2.1有struts2-rest-plugin,尤其是spring3的springmvc已经对rest做了很好的支持。

而webservice 则用soap,将使用soap协议的 webservice 再转换为json输出这不是多此一举么?

下面是appfuse2.1m1中的 cxf-servlet.xml中的一段代码,作者好像是想使用cxf支持的rest,为何不直接用struts的action或servlet呢?


<bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>

    <jaxws:endpoint id="userService" implementor="#userManager" address="/UserService"/>
    <!-- Add new enpoints for additional services you'd like to expose -->
   
    <!--jaxrs:server address="/rest">
        <jaxrs:features>
            <cxf:logging/>
        </jaxrs:features>
        <jaxrs:serviceBeans>
            <ref bean="userManager"/>
        </jaxrs:serviceBeans>
        <jaxrs:providers>
            <ref bean="jsonProvider"/>
        </jaxrs:providers>
        <jaxrs:extensionMappings>
            <entry key="json" value="application/json"/>
            <entry key="xml" value="application/xml"/>
            <entry key="feed" value="application/atom+xml"/>
        </jaxrs:extensionMappings>
    </jaxrs:server-->
   

......................
难道仅仅是为了方便将遗留的webservice转成rest方式?
还是想兼顾webservice和rest的优点?
搞不明白!恳请热心人指点迷津!

你可能感兴趣的:(json,webservice,servlet,REST,SOAP)