1、pom文件
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.7.11</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>2.7.11</version>
</dependency>
2、web.xml
<!--cxf服务启动servlet-->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
3.接口
@WebService
public interface TestService {
public String test(@WebParam(name = "s",targetNamespace = "http://ws.test.com")String s);
}
4、接口实现类
@WebService(endpointInterface= "com.test.ws.TestService")
public class TestServiceImpl implements TestService{
@Override
public String test(@WebParam(name = "s",targetNamespace = "http://ws.test.com")String s){
System.out.println("test-success:" + s);
return "test-success:"+ s;
}
}
5、cxf发布必要配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<!-- cxf必要配置 -->
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:endpoint
id="test"
implementor="com.test.ws.TestServiceImpl"
address="test">
</jaxws:endpoint>
</beans>
6、有用struts映射的需要加判断-
URI包括ws运行servlet,没有的走struts
if(requestURI.contains("/ws")){
RequestDispatcher rdsp = httpServletRequest.getRequestDispatcher(requestURI);
rdsp.forward(servletRequest, servletResponse);
}else{
}
2104





