如何调用别人提供的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!!我只能回答,精力需要对事对人。或许我们这种人的成就很低,甚至没有成就,一生庸庸碌碌~~~ 可能我的价值观比较低吧,觉得没所谓,日子能过就好,就好像牛排和猪肉,它们带给我的味觉冲击其实是差不多的,但是猪肉更便宜,我当然会选择猪肉!!

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

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

时间: 2024-11-14 00:31:02

如何调用别人提供的webservice接口的相关文章

java调用peoplesoft提供的webservice接口

使用到了soapui,apache-cxf,eclipse 1.使用soapui测试提供的地址有效性 wsdl地址:http://192.168.56.101:8800/PSIGW/PeopleSoftServiceListeningConnector/PSFT_HR/C_HR_CLUB.1.wsdl 创建soapui项目File->new soapUI Project 点击ok. 显示的界面,双击Request1,点击绿色按钮,执行,看响应结果 右侧是响应结果. 2.生成java客户端代码 现

VS2013如何调用别人发布的WebService程序

这篇经验会告诉我们如何调用别人发布的WebService,并且需要注意的事项.现在就拿获取天气预报的接口举例,因为文中不允许有链接,所以在下文图中有WebService链接的地址. 工具/原料 VS2013 WebService接口 方法/步骤 首先打开VS2013,选择文件->新建->项目.   在项目中选择[控制台应用程序],将项目名称重新命名为[WebServiceTest].   点击项目右键,选择添加->服务引用.   在地址栏中输入WebServie链接地址后回车,然后重新命

WebService学习总结(四)——调用第三方提供的webService服务

WebService学习总结(四)——调用第三方提供的webService服务 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为例进行说明. 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server), 而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client).一. 调用

Java cxf 调用.net编写的webservice接口

新到的公司第一份工作就是在java环境下调用前人编写的.net程序编写的webservice接口 接口返回的是JSON格式的数据 因为都说webservice跨语言,本来以为是个简单粗暴的工作,结果发现不是那么回事,.net生成的wsdl文件格式一些标签是java环境下不认识的,需要重新编辑下wsdl文件才行 首先,解压下载的CXF最新版的压缩包,DOS窗口下到bin目录,然后执行 wsdl2java -p ws http://192.168.1.137:8007/CIS_Server.asmx

【WebService】调用第三方提供的webService服务(七)

互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为例进行说明. 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server), 而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client). 调用免费的WebService获取天气预报信息 1.在网络上查询免费的webservic

提供了webservice的wsdl地址,如何生成消费端(客户端),怎么调用已经提供的wsdl接口

1.新建一个java项目,然后新建web service client. 2.输入wsdl地址 3.生成的消费端目录如下 如何根据提供的wsdl地址调用接口(传参和返回值的处理) 1 public static Map<String, Object> queryRecordMsg(String contNo){ 2 3 Map<String,Object> rootResult = new HashMap<String,Object>(); 4 try{ 5 Under

sqlserver中调用服务器中的webservice接口

declare @ServiceUrl as varchar(1000) declare @UrlAddress varchar(500)--WebService地址:以http开头,结尾带斜杠,例如'http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/' set @UrlAddress = 'http://139.224.134.5/SGAppService/SGService.asmx/'declare @FunName

WebService学习总结(四)——调用第三方提供的webService服务,使用cxf

package webservice; import javax.xml.namespace.QName; import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; public class Test1 { public static void main(String[] args) throws Exception { JaxWsD

php调用webservice接口,java代码接收不到参数

前段时间做了一个项目的二次开发,有个功能是需要php调用java实现的webservice接口,并传递一些参数给接口,然后按照对方提供的接口说明文档进行传参调用,java那边有接收到请求,但是参数总是为null,部分代码如下: 1 $client = new SoapClient ($this->webServiceUrl); 2 $client->soap_defencoding = 'utf-8'; 3 $client->xml_encoding = 'utf-8'; 4 $para