[セットトップ]Spring 3 Appche CXF WebServiceを統合


CXF 2バージョンでは、CXF WebServiceを集合Spring 3でリリースするとより簡単になります.Spring 3はannotationの注釈を提供していますが、CXF 2はWebServiceを発表しています.以前のバージョンの構成とは違っています.http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html)現在、SpringのIoC容器からオブジェクトを直接受け取るWebServiceサービスを発表しています.もちろんWebServiceのスペックは少し変わっていますが、具体的には下を見てください.
 
以前のバージョンでWebServiceをリリースしました.appication Controtext-server.xmlファイルには以下のような構成が追加されています.
jaxws:serverのリリース方法
<bean id="userServiceBean" class="com.hoo.service.ComplexUserService"/>

<bean id="inMessageInterceptor" class="com.hoo.interceptor.MessageInterceptor">
    <constructor-arg  value="receive"/>
</bean>

<bean id="outLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
<!--      address,   address        WebService name -->
<jaxws:server id="userService" serviceClass="com.hoo.service.IComplexUserService" address="/Users">
    <jaxws:serviceBean>
        <!--      bean     -->
        <ref bean="userServiceBean"/>
    </jaxws:serviceBean>
    <jaxws:inInterceptors>
        <ref bean="inMessageInterceptor"/>
    </jaxws:inInterceptors>
    <jaxws:outInterceptors>
        <ref bean="outLoggingInterceptor"/>
    </jaxws:outInterceptors>
</jaxws:server>
jaxws:endpointのリリース方法
<!-- com.hoo.service.ComplexUserService com.hoo.service.IComplexUserService     ,          Ioc      -->
<jaxws:endpoint id="userService2" implementor="com.hoo.service.ComplexUserService" address="/Users">
    <jaxws:inInterceptors>
        <ref bean="inMessageInterceptor"/>
    </jaxws:inInterceptors>
    <jaxws:outInterceptors>
        <ref bean="outLoggingInterceptor"/>
    </jaxws:outInterceptors>
</jaxws:endpoint>
2.xの新バージョンでは、Iocの容易な対象をWebServiceとする方法を発表しています.
<bean id="userServiceBean" class="com.hoo.service.ComplexUserService"/>

<bean id="inMessageInterceptor" class="com.hoo.interceptor.MessageInterceptor">
    <constructor-arg  value="receive"/>
</bean>

<bean id="outLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
<!--      address,   address        WebService name;#userServiceBean     Ioc    Bean   -->
<jaxws:server id="userService" serviceBean="#userServiceBean" address="/Users">
    <jaxws:inInterceptors>
        <ref bean="inMessageInterceptor"/>
    </jaxws:inInterceptors>
    <jaxws:outInterceptors>
        <ref bean="outLoggingInterceptor"/>
    </jaxws:outInterceptors>
</jaxws:server>
<!--       ,            Ioc      ,  2.x      #id #name        -->
<jaxws:endpoint id="userService2" implementor="#userServiceBean" address="/Users">
    <jaxws:inInterceptors>
        <ref bean="inMessageInterceptor"/>
    </jaxws:inInterceptors>
    <jaxws:outInterceptors>
        <ref bean="outLoggingInterceptor"/>
    </jaxws:outInterceptors>
</jaxws:endpoint>
CXFはWebServiceの公式参考を発表しました.http://cxf.apache.org/docs/writing-a-service-with-spring.html