webService调用
日常工作中经常会对接第三方的服务平台,而三方平台能力可能是提供webservice的接口。故在此总结,方便后续使用。
本人基于SpringBoot
的开发环境,使用cxf
进行调用WebService接口,首先引入pom.xml
文件
//版本可根据需要自行升级
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.6</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.1.6</version>
</dependency>
private Client client;
//创建client实例
public Client getCxfClient(String url){
if(client ==null){
JaxWsDynamicClientFactory cxfFactory = JaxWsDynamicClientFactory.newInstance();
client = cxfFactory.createClient(url);
}
return client;
}
//param什么类型均可【xml,json】
public String webServiceCall(String url,String method,String param){
Object[] resp = null;
String result = null;
try{
resp = getCxfClient(url).invoke(method,param,"");
result = resp[resp.length -1].toString();
}catch(Exception e){
log.info("xxxxxxx");
//抛出你需要的异常
}
return result;
}