使用PHP如何获取WSDL中定义的方法列表
来源:互联网 发布:淘宝店长和运营的区别 编辑:程序博客网 时间:2024/05/29 12:31
使用PHP如何获取WSDL中定义的方法列表
黄远威
1 票
- 366
我应用的场景是,从WSDL中读取定义好的所有方法的方法名,再将这些方法名形成一个列表在前端供用户选择来调用,不知道PHP有没有什么库是可以做到的?
3个答案
票 数
张洪保
2 票
最佳答案
php有内置的函数__getFunctions ():
- <?php
- $client = new SoapClient ( './myfile.wsdl' );
- var_dump ( $client -> __getFunctions ());
- ?>
SoapClient::__getFunctions
浪际天涯
2 票
通过PHP的反射机制应该也是可以的,我这里写了一个例子,不过由于没有wsdl文件,所以没有测试,思路应该就是这样,你拿去改改应该没有问题
- <?php
- $soap = @new SoapClient ('x.wsdl');
- $reflector = new ReflectionObject($soap);
- $functions = $reflector->getMethods(ReflectionMethod::IS_PUBLIC||ReflectionMethod::isProtected||ReflectionMethod::isProtected) as $method
- var_dump($functions);
Liper
1 票
以下为我们最近接口的一个例子,这个例子的特点是应用了WSDL中的Header安全参数:
- <?php
- $soapClient = new SoapClient("http://*****.wsdl",array('encoding' => 'UTF-8'));
- $sh_param = array(
- 'Username' => '***',
- 'Password' => '***');
- $headers = new SoapHeader('http://soapserver.example.com/webservices', 'UserCredentials', $sh_param);
-
- // Prepare Soap Client
- $soapClient->__setSoapHeaders(array($headers));
- $body_param = array(
- 'ID' => '***',
- 'AAID' => '0',
- );
- $result = $soapClient->FUNCTIONS($body_param);
-
- print_r($result);
- exit;
- ?>
0 0
- 使用PHP如何获取WSDL中定义的方法列表
- 如何获取一个未在php中定义的类
- aspx如何获取aspx.cs中定义的变量、方法;
- php获取qq好友列表的方法
- php中soap 的使用实例无需手写WSDL文件,提供自动生成WSDL文件类
- php中soap 的使用实例无需手写WSDL文件,提供自动生成WSDL文件类
- PHP中如何定义和使用常量
- [小技巧]如何获取php一个类中定义的常量
- php中函数的定义,调用,及获取参数的方法。和位运算等。
- DIV标签中列表的获取方法
- 从列表中获取文件名称的方法
- PHP中属性和方法的定义
- ABAP--如何在ALV_Grid的函数中定义下拉列表
- ABAP--如何在ALV_Grid的函数中定义下拉列表
- php学习之道:php中soap的使用实例以及生成WSDL文件,提供自动生成WSDL文件的类库——SoapDiscovery.class.php类
- 如何在Java类中定义接口属性并如何使用接口的方法
- 如何正确使用不同类型的WSDL文件
- UNIX/LINUX环境中使用MATLAB获取指定路径下特定文件列表的方法
- 面向“对象”和“过程”
- jsp中<c:forEach varStatus="status">的属性值问题
- 例题6.18 绿色的世界 UVa11017
- 提高Android开发效率的9个Web工具
- EXCEL去重统计(条件去重复计数)
- 使用PHP如何获取WSDL中定义的方法列表
- 7.IOS 8 UIUserNotificationSettings 推送
- poj 2728 Desert King 【最优比例生成树 0-1分数规划】 【二分 or 迭代 + MST】
- Masonry
- 6.UIActionSheet的最后一项点击失效
- C++句柄类
- 从今天开始学习cocos 2d js
- ffmpeg: error while loading shared libraries: libavdevice.so.56
- android学习笔记(10)service初步
1 => string 'UNKNOWN addOrder(UNKNOWN $data, string $t)' (length=42)
2 => string 'UNKNOWN delOrder(UNKNOWN $data)' (length=31)
返回的结果节选如上,我觉得上面这些字符串还是挺难处理,因为目前我只需要那个方法名就OK了,是不是应该写个正则来匹配? – 黄远威 2012-08-27