一、CXF与SpringBoot集成基础配置

此处只分享最核心配置部分,与SpringBoot集成的相关依赖可以自己学习下。

@Configuration
public class CxfConfig {
    @Value("${cxf.baseUrl}")
    private String baseUrl;
    @Bean
    public ServletRegistrationBean disServlet() {
        return new ServletRegistrationBean(new CXFServlet(), "/callback/*");
    }

    @Bean(name = Bus.DEFAULT_BUS_ID)
    public SpringBus springBus() {
        return new SpringBus();
    }

    @Bean
    public CallBackService getCallBack() {
        return new CallBackServiiceImpl();
    }

    @Bean
    public Endpoint endpoint() {
        EndpointImpl endpoint = new EndpointImpl(springBus(), getCallBack());
        endpoint.setPublishedEndpointUrl(baseUrl+"/callback/hello");
        endpoint.publish("/hello");
        return endpoint;
    }

    ;
}

二、接口定义

此处必须对参数使用@WebParam注解,这样生成的wsdl定义可以在相关软件中自动加载出相关参数。 样例如下:

@WebService(targetNamespace=http://www.mycitymemory.com",endpointInterface ="com.zgs.service.CallBackService")
public interface CallBackService {
    @WebMethod
    String getCallBack(@WebParam(name = "callbackData") String callbackData);
}

三、接口实现

在实现方法中可以直接获取对应的参数,样例如下:

public class CallBackServiiceImpl implements CallBackService {
    @Override
    public String getCallBack(String callbackDta) {
        return "success";
    }
}

启动SpringBoot后,可以通过下面的地址查看对应的服务定义:

http://localhost:8080/callback/hello?wsdl


标题:CXF与SpringBoot之分布式集成
作者:TravelEngineers
地址:https://www.mycitymemory.com/articles/2019/07/21/1563697983096.html
版权声明:转载请注明博文地址,尊重作者劳动成果。
作者简介:坐标魔都,一枚爱旅行爱摄影的攻城狮。愿攻城拔寨的路上,你不用996,也不再孤单,加油。