需要<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进行访问