jonvi 发表于 2017-3-2 08:28:03

使用cxf调用webservice

  1、引入maven包





<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>${cxf.version}</version>
</dependency>
View Code  2、创建Client对象





public static Client getDynamicClient(String wsdlUrl) {
if (client == null) {
synchronized (this.class) {
if (client == null) {
DynamicClientFactory dcf = DynamicClientFactory.newInstance();
client = dcf.createClient(wsdlUrl);
}
}
}
return client;
}
View Code  3、请求远程方法





    private String getResult(String reqXml, String wsdlUrl, String method) {
String result = null;
Object[] objects = null;
try {
LOGGER.debug("reqXml={}.", reqXml);
objects = getDynamicClient(wsdlUrl).invoke(method, reqXml);
result = (String) objects;
LOGGER.debug("GbotExecutor.getResult response={}.", result);
}
catch (Exception e) {
LOGGER.error("invoke gbot getResult failed!", e);
}
return result;
}
View Code
页: [1]
查看完整版本: 使用cxf调用webservice