一、XFire 使用Spring1.2×版本的时候services.xml的配置方式是
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
</service>
</beans>
上面这种方式在spirng 2.X中会报错。
二、XFire 使用Spring 2×版本的时候services.xml的配置方式改为
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<service xmlns="http://xfire.codehaus.org/config/1.0">
</service>
</beans>
三、直接与spring2.x集成
需要修改的xml:web.xml,applicationContext.xml
1)、webl.xml 部分
<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>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<..>web.xml配置spirng部分加上xfire.xml的路径
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml,
classpath:org/codehaus/xfire/spring/xfire.xml
<!--
或在 applicationContext.xml 中导入
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>
-->
</param-value>
</context-param>
2)、applicationContext.xml
<!-- 实现类-->
<bean id="LoginServiceImpl" class="com.LoginServiceImpl"/>
<bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler"/>
<bean id="LoginService" class="org.codehaus.xfire.spring.ServiceBean">
<!---实现类引用-->
<property name="serviceBean" ref="LoginServiceImpl"/>
<!--实现的接口-->
<property name="serviceClass" value="com.LoginService"/>
<!--服务名称-->
<property name="name" value="LoginService"/>
<property name="inHandlers">
<list>
<ref bean="addressingHandler"/>
</list>
</property>
</bean>
四、jsr181 结合@xxx注解
<bean id="xfire.annotationServiceFactory"
class="org.codehaus.xfire.annotations.AnnotationServiceFactory">
<constructor-arg index="0">
<ref bean="xfire.commonsAnnotations"/>
</constructor-arg>
<constructor-arg index="1">
<ref bean="xfire.transportManager"/>
</constructor-arg>
<constructor-arg index="2">
<ref bean="xfire.aegisBindingProvider"/>
</constructor-arg>
</bean>
<bean id="xfire.commonsAnnotations"
class="org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations"/>
<bean id="LoginServiceImpl" class="com.LoginServiceImpl"/>
<bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler"/>
<bean id="LoginService" class="org.codehaus.xfire.spring.ServiceBean">
<!---实现类引用-->
<property name="serviceBean" ref="LoginServiceImpl"/>
<!--实现的接口-->
<property name="serviceClass" value="com.LoginService"/>
<!--添加引用-->
<property name="serviceFactory" ref ="xfire.annotationServiceFactory"/>
<!--服务名称-->
<property name="name" value="LoginService"/>
<property name="inHandlers">
<list>
<ref bean="addressingHandler"/>
</list>
</property>
</bean>
@WebService(name="LoginService")
public interface LoginService{
@WebMethod
public String login(@WebParam(name = "username")String username,@WebParam(name = password") String password);
}