PHP Soap客户端返回“错误版本”;错误.在邮差工作很好


PHP Soap client returning "WrongVersion" error. Works fine in Postman

我正在做一个SOAP请求第三方服务,使用标准的PHP SOAP客户端,我总是得到一个" SOAP Fault:错误的版本"错误。

仍然,我能够获得原始响应(使用$client->__getLastResponse())及其返回的Success。我尝试将"soap_version"选项设置为"SOAP_1_1"answers"SOAP_1_2",但仍然出现相同的错误。"Content-Type"和soap名称空间在新请求中被正确更改,因此它正在应用这些更改。

我还禁用了wsdl缓存

我认为这可能是SOAP 1.1的WSDL的问题,但我试图使用"非WSDL"模式,它给出了相同的错误。

如果我使用Postman发出相同的请求,具有完全相同的消息和标头,一切都工作正常,这使我认为是PHP Soap客户端完成的一些特殊性或验证。

还有别的主意吗?

找到问题。第三方没有使用有效的SOAP消息响应,而是使用普通的XML,这使得SOAP客户端无法处理消息并给出该错误。