web.xml中的配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/spring/applicationContext-beans.xml</param-value>
</context-param>
<servlet>
<servlet-name>AppDispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/spring/applicationContext-base.xml,/WEB-INF/config/spring/applicationContext-ws.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AppDispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<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>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
applicationContext-ws.xml中内容:
<!-- XFire start(注解方式) -->
<!-- 引用xfireJar包中预定义的xfire.xml 它定义了Spring中必须用到的一些Bean和资源 -->
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
<bean id="webAnnotations"
class="org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations"
lazy-init="false" />
<bean id="jsr181HandlerMapping" class="org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping"
lazy-init="false">
<property name="xfire" ref="xfire" />
<property name="webAnnotations" ref="webAnnotations" />
</bean>
<!-- XFire end -->
接口:
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface IHelloService {
@WebMethod
String sayHello(String name);
}
实现类:
import javax.jws.WebService;
import org.springframework.stereotype.Component;
@Component
@WebService(serviceName = "HelloServiceImpl", endpointInterface = "com.oceansoft.IHelloService")
// 配置服务名和接口
public class HelloServiceImpl implements IHelloService {
@Override
public String sayHello(String name) {
// TODO Auto-generated method stub
return name + ",你好";
}
}
Jar包如下:
一直报No bean named 'xfire' is defined,求大神帮解决。