1、引入依赖
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.3.5</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>3.3.5</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.3.5</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.3.5</version>
</dependency>
2、发布服务
发布服务的代码如下,其余代码和Endpoint发布webservice服务相同。
public static void main(String[] args) {
GoodsService goodsService = new GoodsServiceImpl();
JaxWsServerFactoryBean jaxWsServerFactoryBean = new JaxWsServerFactoryBean();
String address = "http://127.0.0.1:8080/goodsService";
jaxWsServerFactoryBean.setAddress(address);
jaxWsServerFactoryBean.setServiceClass(GoodsServiceImpl.class);
jaxWsServerFactoryBean.setServiceBean(goodsService);
//设置服务的名称和命名空间
//参数对应webservice注解的targetNamespace和serviceName
QName qName = new QName("http://2.5.24.5/im/services/Service", "GoodsService");
jaxWsServerFactoryBean.setServiceName(qName);
jaxWsServerFactoryBean.create();
System.out.println(address + "?wsdl已发布");
}