1.添加cxf依赖
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.2.0</version>
</dependency>
2.配置web.xml路径
<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>/test/*</url-pattern>
</servlet-mapping>
3.配置spring-cxf-service.xml(切记bean id需要跟后面对应的接口名TestWebService保持一致,否则访问时会报错 "No service was found.")
<?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"
xmlns:http-conf = "http://cxf.apache.org/transports/http/configuration"
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
http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd">
<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" />
<bean id="testWebService" class="com.test.impl.TestWebServiceImpl">
</bean>
<jaxws:endpoint id="testWebService1" implementor="#testWebService" address="/services" publishedEndpointUrl="http://219.139.**.***:130**/test/services?wsdl"/>
</beans>
4.将spring-cxf-service.xml加载到spring的资源配置文件spring-context.xml中
<import resource="classpath:/spring/spring-cxf-service.xml" />
5.创建TestWebService接口
public interface TestWebService{
String refundNotice(String reqXml);
}
6.创建TestWebService的实现类,处理接口逻辑
package com.test.impl;
import com.test.TestWebService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Resource;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
@WebService(name = "WebService", serviceName = "WebService", targetNamespace = "http://******/services/ws")
@SOAPBinding(use = SOAPBinding.Use.LITERAL, style = SOAPBinding.Style.DOCUMENT)
public class TestWebServiceImpl implements TestWebService {
private static final Logger logger = LoggerFactory.getLogger(TestWebServiceImpl.class);
@Resource
private WebServiceContext wsContext;
@WebMethod
@WebResult(name = "healthServiceReturn")
public String refundNotice(@WebParam(name = "xmlString")String reqXml) {
return "test";
}
}
7.发布程序,然后通过soapUI工具调试接口