分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

如何调用别人提供的webservice接口

发布时间:2023-09-06 02:13责任编辑:顾先生关键词:webservice

当我们拿到一个接口的时候,先别急着去调用它,我们得先测试这个接口是否正确,是否能调用成功,以及返回的数据是否是我们需要的类型等等。这时候我们需要一个工具,比如SoapUI。(最好用绿色免安装版的。)然后去测试接口的可行性。

可行之后再带入咱们的代码里面。这里需要用到CXF插件,百度随处可下。下面是我调用webservice的代码,参数分别为接口地址,调用接口的方法名以及方法的参数。非常的简单。

public static Object[] invokeRemoteMethod(String url, String operation, Object[] parameters){
???????JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
???????if (!url.endsWith("wsdl")) {
???????????url += "?wsdl";
???????}
???????org.apache.cxf.endpoint.Client client = dcf.createClient(url);
???????//处理webService接口和实现类namespace不同的情况,CXF动态客户端在处理此问题时,会报No operation was found with the name的异常
???????Endpoint endpoint = client.getEndpoint();
???????QName opName = new QName(endpoint.getService().getName().getNamespaceURI(),operation);
???????BindingInfo bindingInfo= endpoint.getEndpointInfo().getBinding();
???????if(bindingInfo.getOperation(opName) == null){
???????????for(BindingOperationInfo operationInfo : bindingInfo.getOperations()){
???????????????if(operation.equals(operationInfo.getName().getLocalPart())){
???????????????????opName = operationInfo.getName();
???????????????????break;
???????????????}
???????????}
???????}
???????Object[] res = null;
???????try {
???????????res = client.invoke(opName, parameters);
???????} catch (Exception e) {
???????????e.printStackTrace();
???????}
???????return res;
???} ?

ps:

对于一个懒人来说,很多东西不一定要懂,只需要会用则好。好比穷人手里的100块和富人手里的100块完全就是两个概念,懒人的100分精力就相当于穷人手里的100块,当然不能乱花。有人会说,你上网玩游戏逛街的时候精力怕是有1w!!我只能回答,精力需要对事对人。或许我们这种人的成就很低,甚至没有成就,一生庸庸碌碌~~~ 可能我的价值观比较低吧,觉得没所谓,日子能过就好,就好像牛排和猪肉,它们带给我的味觉冲击其实是差不多的,但是猪肉更便宜,我当然会选择猪肉!!

不爱展望未来,但喜珍惜当下~

如何调用别人提供的webservice接口

原文地址:https://www.cnblogs.com/yilishabai260/p/9603596.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved