SpringBoot调用webservice服务
调用服务只提供一个工具类
import lombok.extern.slf4j.Slf4j;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
//可以直接去掉该注解 同时去掉catch中的log即可
@Slf4j
public class WebServiceClient {
//工具类方法
public static String getWebServiceInfo(String url, String method, String param1, String param2) {
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
//url 即 http://localhost:port/webservice/xxxx?wsdl
Client client = dcf.createClient(url);
// 需要密码的情况需要加上用户名和密码
// client.getOutInterceptors().add(new ClientLoginInterceptor(USER_NAME, PASS_WORD));
Object[] objects = new Object[1];
try {
// invoke("方法名",参数1,参数2,参数3....);
objects = client.invoke(method, param1, param2);
} catch (Exception e) {
log.error("调用webservice出现异常, 异常信息为: ", e);
}
for (Object obj:objects) {
//尝试打印返回结果
System.out.println(obj.toString());
}
//返回信息
return objects[0].toString();
}
}