Heim  >  Fragen und Antworten  >  Hauptteil

Beeinträchtigt PHP 8.1 die Funktionalität der inneren Klasse SoapClient?

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粉615886660P粉615886660335 Tage vor481

Antworte allen(1)Ich werde antworten

  • P粉969666670

    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 中处理这些异常 相应地。如果这没有帮助,一个带有未正确处理的具体错误的新问题可能会更有帮助。

    Antwort
    0
  • StornierenAntwort