Heim > Fragen und Antworten > Hauptteil
Beim Erstellen einer Bibliothek, die den SoapClient von PHP verwendet und mit PHP 8.1 kompatibel ist, bin ich auf dieses Problem gestoßen:
Alle Eigenschaften von SoapClient sind jetzt privat, während sie zuvor öffentlich waren.
Also Dinge wie den letzten Seifenfehler ($soapClient->__soap_fault
)之类的事情不再可能。但如果出现问题,SoapClient 的大多数方法都会返回 null,而了解问题所在的唯一方法是获取不再可访问的 __soap_fault
.
Wie soll ich Methoden verwenden __doRequest
, wenn ich keinen Zugriff auf SoapClient-Eigenschaften habe?
P粉9696666702023-12-13 13:23:55
查看旧的 SoapClient
文档,似乎直接访问属性总是错误 - 对于 php7.2 例如根据回程机器, __soap_fault
根本没有记录(参见 https://web.archive.org/web/20171211100753/http://us3.php.net/manual/en/class.soapclient。 php)
文档说明如下:
我想说,请确保启用了异常(通过将 $options['exceptions'] => true
传递给 SoapClient 构造函数)并在 try/catch 中处理这些异常
相应地。如果这没有帮助,一个带有未正确处理的具体错误的新问题可能会更有帮助。