前提准备,添加依赖(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. 调用示例代码
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
public class WebServiceDynamicClient {
public String[] callFuc1(String flag, String mac, String psw) {
try {
// 创建动态客户端
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("http://127.0.0.1/Service.asmx?wsdl");
// 调用方法,返回 Object[]
Object[] objects = client.invoke("fuc1", flag, mac, psw);
// 如果返回的是数组,转换为 String[]
if (objects != null && objects.length > 0) {
(String[]) objects[];
}
} (Exception e) {
e.printStackTrace();
}
;
}
}

