前言
在企业级系统开发中,Web Service 是一种常见的跨平台通信方式。尤其是在与旧系统对接时,我们经常需要通过 SOAP 协议调用远程 WebService 接口。
本文将详细介绍如何在 Spring Boot 项目中使用 Apache CXF 实现 WebService 的动态调用和静态调用,并附上完整的示例代码和操作步骤。
前提准备,添加依赖(Spring Boot + CXF)
这个 Maven 依赖是动态调用方法和静态调用方法都需要使用的。添加后更新 Maven。
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
<version>3.4.10</version>
</dependency>
使用 cxf-spring-boot-starter-jaxws 可以自动配置 CXF,无需额外 XML 配置。
方法一:动态调用 WebService
动态调用不依赖生成的 Java 类,直接通过 URL 和方法名调用,灵活性高,适合快速测试。
1. 添加依赖(Spring Boot + CXF)
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
<version>3.4.10</version>
</dependency>
2. 调用示例代码
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
public class WebServiceDynamicClient {
String[] callFuc1(String flag, String mac, String psw) {
{
JaxWsDynamicClientFactory.newInstance();
dcf.createClient();
Object[] objects = client.invoke(, flag, mac, psw);
(objects != && objects.length > ) {
(String[]) objects[];
}
} (Exception e) {
e.printStackTrace();
}
;
}
}

