Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP SoapClient:获取所有带参数函数的列表_Php_Soap_Parameters_Wsdl_Soap Client - Fatal编程技术网

PHP SoapClient:获取所有带参数函数的列表

PHP SoapClient:获取所有带参数函数的列表,php,soap,parameters,wsdl,soap-client,Php,Soap,Parameters,Wsdl,Soap Client,我正在使用一个来自第三方供应商的SOAP web服务,服务中的函数随机更改(重命名参数、添加和删除参数)会出现一些问题。显然,这不是我们希望看到的情况,所以我正在尝试编写一个脚本,以便在Web服务发生任何更改时通知我 使用PHP的SoapClient,我可以提取webservice中所有函数的列表,但是所有函数都列出一个参数,该参数似乎是其余参数的容器。我在WSDL模式下使用SoapClient,因此我认为有某种方法可以为每个函数提取完整的参数列表 有什么建议吗?根据上面的一些评论,如果您无法从

我正在使用一个来自第三方供应商的SOAP web服务,服务中的函数随机更改(重命名参数、添加和删除参数)会出现一些问题。显然,这不是我们希望看到的情况,所以我正在尝试编写一个脚本,以便在Web服务发生任何更改时通知我

使用PHP的SoapClient,我可以提取webservice中所有函数的列表,但是所有函数都列出一个参数,该参数似乎是其余参数的容器。我在WSDL模式下使用SoapClient,因此我认为有某种方法可以为每个函数提取完整的参数列表


有什么建议吗?

根据上面的一些评论,如果您无法从SOAP客户端获得满足您需求的方法/参数的准确反映,当然,没有什么可以阻止您获取WSDL本身的散列并将其与存储的散列进行比较,以查看是否有任何更改


如果您想获得关于更改内容的更多详细信息,那么可以更进一步,使用一些XML库解析WSDL,并比较节点的更改。

当您说拉一个完整的参数列表时,您是想在幕后进行还是想查看它?wsdl应该向您展示所有这些。该供应商应该提供版本化的API,以便清楚哪些仍然受支持,以及下一个如何。显然情况并非如此,我认为您只能对WSDL进行指纹识别。@Robert-我想创建一种自动化的方法来记录在给定时刻存在哪些函数以及它们需要哪些参数。如果我需要手动解析WSDL,我会,但是我希望有一个更简单的方法。@hakre-你对如何通过保存一个比直接的WSDL更人性化的列表来实现这一点有什么建议吗?我不知道在不使用WSDL的情况下如何获取参数,如果他们更新了代码,他们应该向你提供更新,特别是当它崩溃时现有功能。这听起来更像是一个过程问题,而不是一个开发问题。因此,要回答您的问题,您需要解析wsdl,但不必解析。供应商应该告诉您情况正在发生变化,并给您足够的时间调整系统以接受它。