栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot集成CXF实现Webservice请求

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot集成CXF实现Webservice请求

测试项目git地址(里面简单的做了出入参的转换操作):

https://github.com/zangdy/webservice-test.git
  1. 首先要引入cxf相关依赖


      org.apache.cxf
      cxf-spring-boot-starter-jaxws
      3.2.4


      org.hibernate
      hibernate-validator
      5.2.4.Final


注: 这里我是引入了hibernate-validator,原因是我没有引入时报了以下错误。

2. 其次编写webservice接口及其方法

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;


@WebService
public interface TestWebservice {

    
    @WebMethod
    String test(@WebParam(name = "requestData") String requestData);

}
  1. 实现webservice接口
import com.shulil.webservice.TestWebservice;
import org.springframework.stereotype.Component;

import javax.jws.WebService;


@Component
@WebService(serviceName = "testWebservice",  // 对外发布服务名
        endpointInterface = "com.shulil.webservice.TestWebservice", // 所实现接口的路径
        targetNamespace = "http://test.webservice.shuli.com" // 指定想要的名称空间,一般是该路径的反写方式
)
public class TestWebServiceImpl implements TestWebservice {

  
  @Override
  public String test(String requestData) {
    System.out.println(requestData);
    return "成功";
  }

}
  1. 最后一步编写webservice配置类
import com.shulil.webservice.TestWebservice;
import org.apache.cxf.Bus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.xml.ws.Endpoint;


@Configuration
public class WebServiceConfg {

    @Autowired
    private Bus bus;

    @Autowired
    private TestWebservice testWebservice;

    
    @Bean
    public ServletRegistrationBean servletRegistrationBean(){

        return new ServletRegistrationBean(new CXFServlet(),"/webservice
    @Bean
    public Endpoint endpoint(){
        EndpointImpl endpoint = new EndpointImpl(bus,testWebservice);
        //  发布地址
        endpoint.publish("/examine");
        return endpoint;
    }

}
  1. 最后通过SoapUI工具测试,参数需要写在 里面
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/945641.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号