soap-ws 获取wsdl中所有方法 (一)
soap-ws Java开源框架,github上是这样解释的:
soap-ws ,A lightweight and easy-to-use Java library to handle SOAP on a purely XML level.
github列举了一些使用方法,地址:https://github.com/reficio/soap-ws。
在使用的过程中,需要通过wsdl地址获取到wsdl中定义的所有方法,也就是operation。wsdl中定义Operation的地方有2个:①portType节点;②binding节点。
一般来说,这2个节点的operation是完全一样的。不过通过SOAPUI访问wsdl,获取的是binding节点中的所有operation。如果2个节点的operation都一样获取哪个节点都可以。
1. 获取binding节点的所有operation
看了一下示例代码,
soap-ws是通过以下的方法获取的operation。
SoapOperation operation = builder.operation().soapAction("http://www.webserviceX.NET/ConversionRate").find();
上述方法必须要知道Action的定义,大部分wsld中的Operation都是没有定义action的。所以通过以上方法不行。
查看接口SoapBuilder,定义了获取operation的方法,获取的是binding节点的所有operation。
public interface SoapBuilder {List<SoapOperation> getOperations();}
那通过wsdl怎么用到接口SoapBuilder的getOperations()呢?
参考示例SoapBuilder builder = *wsdl.binding()*.localPart("CurrencyConvertorSoap").find();
类Wsdl中提供了获取所有binding的方法public List<QName> getBindings()
完整代码如下:
public static List<String> getBindingOperations(String wsdlUrl) {List<String> operationList = new ArrayList();List<SoapOperation> soapOperationList = new ArrayList();Wsdl parser = Wsdl.parse(wsdlUrl);List<QName> bindQnames = parser.getBindings();for (QName qName : bindQnames) {SoapBuilder soapBuilder = parser.binding().localPart(qName.getLocalPart()).find();soapOperationList.addAll(soapBuilder.getOperations());}for (SoapOperation soapOperation : soapOperationList) {operationList.add(soapOperation.getOperationName());}return operationList;
}
以获取天气为例,测试结果:
wsdlUrl = “http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl“;
[getSupportCity, getSupportProvince, getSupportDataSet, getWeatherbyCityName, getWeatherbyCityNamePro, getSupportCity, getSupportProvince, getSupportDataSet, getWeatherbyCityName, getWeatherbyCityNamePro, getSupportCity, getSupportProvince, getSupportDataSet, getWeatherbyCityName, getWeatherbyCityNamePro, getSupportCity, getSupportProvince, getSupportDataSet, getWeatherbyCityName, getWeatherbyCityNamePro]
soap-ws 获取wsdl中所有方法 (一)相关推荐
- 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 动态拦截函数 | 动态获取 MetaClass 中的方法 | evaluate 方法执行Groovy脚本 )
文章目录 一.基础示例 二.根据字符串动态获取 MetaClass 中的方法 二.使用 evaluate 执行字符串形式的 Groovy 脚本 二.完整代码示例 一.基础示例 定义类 Student ...
- controller中获取heard中参数方法
在controller层获得参数方法具体实现如下: 获得当前HttpServletRequest对象 protected HttpServletRequest getRequest(){return ...
- C#/Java 调用WSDL接口及方法
一.C#利用vs里面自带的"添加web引用"功能: 1.首先需要清楚WSDL的引用地址 如:http://www.webxml.com.cn/Webservices/Weath ...
- C# 调用WSDL接口及方法
1.首先需要清楚WSDL的引用地址 如:http://XX.XX.4.146:8089/axis/services/getfileno?wsdl 上述地址的构造为 类名getfileno. 2.在.N ...
- 用JQuery中的Ajax方法获取web service等后台程序中的方法
用JQuery中的Ajax方法获取web service等后台程序中的方法 1.准备需要被前台html页面调用的web Service,这里我们就用ws来代替了,代码如下: using System; ...
- JS获取URL中参数值(QueryString)的4种方法分享
http://www.jb51.net/article/48942.htm JS获取URL中参数值(QueryString)的4种方法分享 作者: 字体:[增加 减小] 类型:转载 今天碰到要在一个页 ...
- 【转】Java中获取文件大小的正确方法
[转]Java中获取文件大小的正确方法 本文出处:http://blog.csdn.net/chaijunkun/article/details/22387305,转载请注明.由于本人不定期会整理相关 ...
- java list 截取部分数据_Java List.subList()方法:获取列表中指定范围的子列表
集合类中的 List.subList() 方法用于获取列表中指定范围的子列表,该列表支持原列表所支持的所有可选操作.返回列表中指定范围的子列表. 语法: subList(int fromIndex,i ...
- thinkphp模型中的获取器和修改器(根据字段名自动调用模型中的方法)
thinkphp模型中的获取器和修改器(根据字段名自动调用模型中的方法) 一.总结 记得看下面 1.获取器的作用是在获取数据的字段值后自动进行处理 2.修改器的作用是可以在数据赋值的时候自动进行转换处 ...
最新文章
- 原理+代码实战 | 双目视觉中的极线校正
- windows server 2008 R2 初试Hyper-V(一)
- 深度探讨 CrossFormer 如何解决跨尺度问题
- LeetCode每日一题 416. 分割等和子集
- JAVA面试常考系列六
- 读《数学之美》第四章 谈谈分词
- 10-Python入门学习-函数的对象与嵌套、名称空间与作用域、闭包函数
- iis绑定php程序应用池设定,什么是IIS应用程序池以及应用程序池详解
- 如何更好的使用大数据
- PB与各种数据库连接
- mysql 升级和降级
- 2017年c语言试卷及答案,2017年全国计算机c语言试题及答案
- SqlSessionFactoryBean
- 信息安全工程师(中级)—重要知识点总结
- [matlab数字图像处理3]打开一副低对比度图像,拉伸其图像对比度
- python内置函数系列之str(一)(持续更新)
- 将多个excel合并成一个包含多个sheet的excel
- TF卡座的工作原理,TF卡座的内部结构,详图,自弹式TF卡座的内部结构原来是这么回事
- BZOJ4416: [Shoi2013]阶乘字符串
- 定弘法师(钟茂森博士)的九大愿
热门文章
- 大二上---数据结构课程设计
- ibm服务器中文件存储设置,IBMv7000存储服务器双活配置流程
- vim的文件比较功能
- Emulator: emulator: INFO: QtLogger.cpp:68: Critical: Uncaught ReferenceError: $ is not defined (qrc:
- SOHO 企业网吧 路由器 智能QoS 3G MIFI
- 值得 .NET 开发者了解的15个特性
- WebRequest 类和 WebResponse 类
- Controller层各注解总结
- Java web框架
- apache atlas 官方安装