spring boot 集成cxf 發佈webservices服務

需要<dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
            <version>3.2.4</version>
</dependency>

 

接口層:

package com.neusoft.interf.service.impl;

import java.util.List;

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

import com.neusoft.interf.entity.Bank;
import com.neusoft.interf.entity.Company;
import com.neusoft.interf.utile.DataMess;

/**
 * @author 王峯
 * @Time:2018年12月5日 下午3:12:00
 * @version 1.0
 */
@WebService(name = "TestService", // 暴露服務名稱
targetNamespace = "http://service.wyj.com"// 命名空間,一般是接口的包名倒序
)
public interface WebSInterface{
    @WebMethod
    public DataMess<Object> saveCompany(Company company,List<Bank>banks);

}
 

實現類

package com.neusoft.interf.service.impl;

import java.util.List;

import javax.jws.WebService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.neusoft.interf.entity.Bank;
import com.neusoft.interf.entity.Company;
import com.neusoft.interf.service.CompanyService;
import com.neusoft.interf.utile.DataMess;

/**
 * @author
 * @Time:2018年12月5日 下午3:15:30
 * @version 1.0
 * @param <T>
 */
@SuppressWarnings("rawtypes")
@Component
 @WebService(targetNamespace="http://service.wyj.com",endpointInterface = "com.neusoft.interf.service.impl.WebSInterface")
public class WebSImpl implements WebSInterface {
    @Autowired
    private CompanyService companyService;

    @Override
    public DataMess<Object> saveCompany(Company company,List<Bank>banks){
    return     companyService.saveCompany(company,banks);  
    }

}
 

發佈配置:

package com.neusoft.interf.config;
import org.apache.cxf.Bus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.neusoft.interf.service.impl.WebSInterface;

/**
 * @author 
 * @Time:2018年12月5日 下午3:49:28
 * @version 1.0
 */
@Configuration
public class CxfConfig {
    @Autowired
    private Bus bus;

    @Autowired
    WebSInterface webSInterface;
    /** JAX-WS 
     * 站點服務 http://127.0.0.1:8081/dataCenterDP/services/company?wsdl
     * **/
    @Bean
    public EndpointImpl endpoint() {
        EndpointImpl endpoint = new EndpointImpl(bus, webSInterface);
        endpoint.publish("/company");
        return endpoint;
    }
}
瀏覽器輸入站點服務 http://127.0.0.1:8081/dataCenterDP/services/company?wsdl進行訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章