我有一些遗留的PHP代码,它以WSDL模式调用供应商的SOAP服务。它一直运行良好多年,直到本周供应商更新了他们的数据库并更改了程序调用的URL。
为了诊断问题并发现了URL更改 - 我解决了WSDL文件所宣传的IP地址不再有效(所有请求超时),我从此处理了这个问题。我联系了供应商并得到了“哦,是的,URL已经改变了”响应。在我看来,对此的简单解决方案是供应商更新其WSDL文件或配置,以便他们为其服务宣传正确的端点。 我是否正确认为这应该是供应商端的相对简单的配置更改?
然而......我从他们的IT部门得到的回复是我应该只使用这个其他URL来处理请求。这不是微不足道的,需要开发时间来实现修复。
鉴于我可能不得不在我的问题上解决这个问题,最好的办法是什么?
curl
请求WSDL文件,在本地保存,修改它,然后使用修改后的版本实例化SoapClient
?SoapClient
以调整每个请求的地址? (我找到了一个很老的例子,现在可以找到via the Wayback Machine)要明确的是,我认为所有这些选项都很糟糕,供应商应该修复他们混乱的配置。但我可能不得不为此实施 hack 修复。