是否可以(轻松)使用PHP的SOAPClient覆盖WSDL规范中定义的服务?

时间:2017-10-26 21:15:30

标签: php soap wsdl

我有一些遗留的PHP代码,它以WSDL模式调用供应商的SOAP服务。它一直运行良好多年,直到本周供应商更新了他们的数据库并更改了程序调用的URL。

为了诊断问题并发现了URL更改 - 我解决了WSDL文件所宣传的IP地址不再有效(所有请求超时),我从此处理了这个问题。我联系了供应商并得到了“哦,是的,URL已经改变了”响应。

在我看来,对此的简单解决方案是供应商更新其WSDL文件或配置,以便他们为其服务宣传正确的端点。 我是否正确认为这应该是供应商端的相对简单的配置更改?

然而......我从他们的IT部门得到的回复是我应该只使用这个其他URL来处理请求。这不是微不足道的,需要开发时间来实现修复。

鉴于我可能不得不在我的问题上解决这个问题,最好的办法是什么?

  1. 使用curl请求WSDL文件,在本地保存,修改它,然后使用修改后的版本实例化SoapClient
  2. 扩展SoapClient以调整每个请求的地址? (我找到了一个很老的例子,现在可以找到via the Wayback Machine
  3. 别的什么?
  4. 要明确的是,我认为所有这些选项都很糟糕,供应商应该修复他们混乱的配置。但我可能不得不为此实施 hack 修复。

0 个答案:

没有答案