接着上篇 WebService小白学习 之 使用jdk实现暴露接口
本篇介绍使用CXF工具暴露接口,不过多介绍,主要看代码。
实现过程:
1、在pom.xml添加CXF需要jar包:
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-core -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>3.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-frontend-jaxws -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-transports-http-jetty -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.2.5</version>
</dependency>
</dependencies>
2、改动上篇的Server.java代码即可:
package com.gx.server;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
import com.gx.webservice.IHelloWorld;
import com.gx.webservice.impl.HelloWorldImpl;
public class Server {
static String address = "http://127.0.0.1:34563/helloWorld";
public static void main(String[] args) {
System.out.println("web service start");
IHelloWorld implementor = new HelloWorldImpl();
JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();
factoryBean.setAddress(address); //设置暴露地址
factoryBean.setServiceClass(IHelloWorld.class); //设置暴露接口类
factoryBean.setServiceBean(implementor); //设置实现类
factoryBean.create(); //创建webservice接口
System.out.println("web service started");
}
}
效果,具体改动内容,运行成功:
在浏览器网址输入自定义address:http://127.0.0.1:34563/helloWorld?wsdl,看到结果一样
ok。
下篇: