SpringMvc整合cxf

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工具调试接口

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值