1.pom中引入
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.2.6</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.2.6</version>
</dependency>
本人遇到了很大的坑
查阅网上资料后发现 spring boot 1.4 版本对应cxf-spring-boot-starter-jaxws 3.1.X 版本
spring boot 1.5 版本对应cxf-spring-boot-starter-jaxws 3.2.X 版本
2.CxfConfig.java
package com.sdyy.springboot.config;
import javax.xml.ws.Endpoint;
import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.sdyy.biz.example.DemoService;
import com.sdyy.biz.example.DemoServiceImpl;
@Configuration
public class CxfConfig {
@Bean
public ServletRegistrationBean disServlet() {
return new ServletRegistrationBean(new CXFServlet(),"/demo/*");
}
@Bean(name = Bus.DEFAULT_BUS_ID)
public SpringBus springBus() {
return new SpringBus();
}
@Bean
public DemoService demoService() {
return new DemoServiceImpl();
}
@Bean
public Endpoint endpoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), demoService());
endpoint.publish("/api");
return endpoint;
}
}
3.DemoService .java
package com.sdyy.biz.example;
import javax.jws.WebService;
@WebService
public interface DemoService {
public String sayHello(String user);
}
4.DemoServiceImpl .java
package com.sdyy.biz.example;
import java.util.Date;
import javax.jws.WebService;
@WebService(serviceName=“DemoService”,//对外发布的服务名
targetNamespace=“http://sdyy.biz.example.com”,//指定你想要的名称空间,通常使用使用包名反转
endpointInterface=“com.sdyy.biz.example.DemoService”)//服务接口全路径, 指定做SEI(Service EndPoint Interface)服务端点接口br/>@Component
public class DemoServiceImpl implements DemoService {
@Override
public String sayHello(String user) {
return user+",现在时间:"+"("+new Date()+")";
}
}
5.浏览器输入 http://localhost:8180/CIRMS/demo/api?wsdl