xfire1.2.6+spring2.0 之webservice搭建小结

来源:互联网 发布:香港 二线 知乎 编辑:程序博客网 时间:2024/05/16 14:40

1.spring2.0.jar与xfire1.2自带的spring1.2.6.jar冲突.需要删除"spring1.2.6.jar".

 

异常:Document root element "beans", must match DOCTYPE root "null".

 

2.表示层如果不是用spring的mvc,还要引入"spring-webmvc.jar".

异常:no find class "org/springframework/web/servlet/mvc/Controller.class".

 

3.利用用XFireExporter和XFireConfigurableServlet配置webservice,就可省去配置"services.xml"和"*.aegis.xml"的烦恼!!!

 

A.在web.xml中配置

    <!-- XFire,java webservice服务开启 -->
  <servlet>
    <servlet-name>XFireServlet</servlet-name>

    <!--拦截webservice相关-->
    <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>

B.在applicationContext.xml配置

  <!-- 导入XFire基本配置文件 -->
 <import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>

 <!--相当于生成services.xml *.aegis.xml-->

 <bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false"
     abstract="true">
    <property name="serviceFactory" ref="xfire.serviceFactory"/>
    <property name="xfire" ref="xfire"/>
 </bean>
   <!--
   指向webservice专用 scope="prototype"会不能显示,也可理解成webserives提供接口而非实现.
   --> 
    <bean name="worderService" parent="baseWebService" > 

        <!---接口-->
        <property name="serviceClass" value="com.qzgf.webservice.service.WorderService"/> 

        <!---实现-->

        <property name="serviceBean"  ref="WorderServiceTarget" />
    </bean>
    
 <bean id="WorderServiceTarget" class="com.qzgf.webservice.service.WorderServiceImpl">
  <description>测试 </description>

  <!--数据库操作对象-->
  <property name="baseSqlMapDAO" ref="baseSqlMapDAO" />
 </bean>

.
   

原创粉丝点击