SpringBoot整合cxf發布webService


1. cxf的pom依賴

<!--webService依賴-->
<dependency>
    <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
        <version>3.2.4</version>
</dependency>        

2. 服務接口

package com.pig4cloud.pigx.oms.webservice;

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

/**
 * 進口訂單WebService
 *
 * @author Fred
 * @date 2019-07-17 17:13:37
 */

@WebService(targetNamespace = "http://webservice.oms.pigx.pig4cloud.com")
public interface ImpOrderWebService {

    @WebMethod
    String hello(@WebParam(name = "name") String name);

}

3. 接口實現類

package com.pig4cloud.pigx.oms.webservice.impl;

import com.pig4cloud.pigx.oms.webservice.ImpOrderWebService;
import org.springframework.stereotype.Component;

import javax.jws.WebService;

/**
 * 進口訂單表頭信息
 *
 * @author pigx code generator
 * @date 2019-07-17 17:13:37
 */
@WebService(serviceName = "ImpOrderWebService", // 與接口中指定的name一致
        targetNamespace = "http://webservice.oms.pigx.pig4cloud.com", // 與接口中的命名空間一致,一般是接口的包名倒
        endpointInterface = "com.pig4cloud.pigx.oms.webservice.ImpOrderWebService" // 接口地址

)
@Component
public class ImpOrderWebServiceImpl implements ImpOrderWebService {

    @Override
    public String hello(String name) {
        return "hello"+name;
    }

}

4. 服務發布配置類

package com.pig4cloud.pigx.oms.config;

import com.pig4cloud.pigx.oms.webservice.ImpOrderWebService;
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;

/**
 * 服務發布類
 *
 * @author Fred
 * @date 2019-07-17 17:13:37
 */
@Configuration
public class WebServiceConfig {

    @Autowired
    private Bus bus;

    @Autowired
    private ImpOrderWebService impOrderWebService;

    @Bean
    public ServletRegistrationBean disServlet() {
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new CXFServlet(), "/webservice/*");
        return servletRegistrationBean;
    }

    @Bean
    public Endpoint endpoint() {
        EndpointImpl endpoint = new EndpointImpl(bus, impOrderWebService);
        endpoint.publish("/order");
        return endpoint;
    }

}

5. 項目啟動后的wsdl信息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM