通过cxfJaxWsDynamicClientFactory进⾏WebService客户端
调⽤
通过JaxWsDynamicClientFactory进⾏WebService 客户端调⽤的⼀个好处就是只需要知道了WSDL地址就⾏了,不需要⼿动⽣成任何代
码,这样,如果需要调⽤多个WebService服务的话,只需要创建多个Client即可,不⽤考虑传统⽅式(⽣成代码)冲突问题,这样可以让
代码更优雅。
下⾯给出步骤
⾸先整合相关jar包,在POM⽂件中添加如下依赖
<!-- cxf Web Service -->
<dependency>
<groupId>f</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.10</version>
</dependency>
<dependency>
<groupId>f</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.10</version>
</dependency>
然后java代码如下:
JaxWsDynamicClientFactory clientFactory = wInstance();如何生成webservice客户端
Client client = ateClient(webserviceAddress);
Object[] result = null;
try {
//如果有命名空间的话
QName operationName = new QName(namespaceURI,localPort); //如果有命名空间需要加上这个,第⼀个参数为命名空间名称,第⼆个参数为WebService⽅ result = client.invoke(operationName,param1, param2);//后⾯为WebService请求参数数组
//如果没有命名空间的话
result = client.invoke(operationName, param1); //注意第⼀个参数是字符串类型,表⽰WebService⽅法名称,第⼆个参数为请求参数
} catch (Exception e) {
String errMsg = "WebService发⽣异常!";
result = new Object[] { errMsg };
<(errMsg, e);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论