PHP SoapClient:分布式 WSDL 文件的问题

Dav*_*ave 6 php client soap wsdl distributed

我在使用 PHP 的 SoapClient 分布式 WSDL 文件(方案/其他定义在实际 WSDL 之外声明)时遇到问题。

这是我收到的错误消息:

SOAP-ERROR: Parsing WSDL:  'getSomeInfo' already defined.
Run Code Online (Sandbox Code Playgroud)

经过一番谷歌搜索后,这似乎是 PHP 内部的一个错误,因为其他人发现了完全相同的问题:http://bugs.php.net/bug.php ?id=45282

有任何错误修复吗?有什么解决方案可以解决这个错误吗?

我认为发布代码片段是没有意义的,因为仅使用 WSDL 调用 SoapClient ctor 是唯一失败的。

sal*_*the 0

处理节点的PHP 源代码 ( svnimport )包含注释/* TODO: namespace ??? */。命名空间被忽略,这使得方法发生冲突。

提出了三种解决方案:

  1. 修复源代码以适应命名空间(这将是非常受欢迎的)
  2. 操作 WSDL 文件以防止此类方法重叠(这可能根本不是一个选项)
  3. 不要使用原始 WSDL 文件,而是使用单独的 SoapClient 实例单独调用导入的文件(或将没有方法名称冲突的文件分组)。

抱歉,我无法提供更多帮助。