Spring+XFire架设WebService服务

1、下载XFire1.2.6,把lib文件夹下所有文件导入到WEB项目的lib目录下,连同xfire-all-1.2.6.jar一起放入,删除spring-1.2.6.jar 其他有冲突的包自行删除。

2、在web.xml文件中加入如下配置,注意将其放在Spring配置的后面

<servlet>
     <servlet-name>XFireServlet</servlet-name>
     <servlet-class>
         org.codehaus.xfire.spring.XFireSpringServlet
     </servlet-class>
	 </servlet>
	 <servlet-mapping>
	     <servlet-name>XFireServlet</servlet-name>
	     <url-pattern>/servlet/XFireServlet/*</url-pattern>
	 </servlet-mapping>
	 
	 <servlet-mapping>
	     <servlet-name>XFireServlet</servlet-name>
	     <url-pattern>/services/*</url-pattern>
	 </servlet-mapping>

3、在classes目录下新建applicationContext-webservice.xml 配置文件,配置如下

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans   
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">  
      
    <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" /> 
     
    <bean  class="org.codehaus.xfire.spring.ServiceBean">
        <!-- 服务对外名称 -->
        <property name="name" value="sendSms"/>
        <!-- 服务实现Bean 在Spring中配置该bean 或使用注解 -->
    	<property name="serviceBean" ref="sendSms"/>
    	<!-- 接口类 -->
    	<property name="serviceClass"  value="com.gdsms.webservice.SendSms"/>
	</bean>
</beans>  

4、如果要返回自定义对象,则需要在提供服务的类同目录下新建文件:服务名.aegis.xml 配置文件,如:

<?xml version="1.0" encoding="UTF-8"?>
<mappings>
    <mapping>
        <method name="send">
         <return-type componentType="com.gdsms.webservice.result.SendSmsResult"/>
        </method>
    </mapping>
</mappings>

 5、启动 搞定。

猜你喜欢

转载自ggxin.iteye.com/blog/1943072