前言:在jdk1.8的时候使用的是内建的JAX-WS,升级springboot3.2之后报错,故修改为Apache CXF。
操作步骤
添加Maven依赖
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>4.0.3</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>4.0.3</version>
</dependency>生成客户端代码
打开命令行窗口,执行以下脚本
wsdl2java -d src -client url其中src表示代码生成的路径,url标识webservice接口地址
调用服务
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
public class Client {
public static void main(String[] args) {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(XXXService.class);
factory.setAddress(url);
XXXService client = (XXXService) factory.create();
XXXResponse response = client.pushXXX(XXXRequest);
}
}