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
)之類的事情不再可能。但如果出現(xiàn)問(wèn)題,SoapClient 的大多數(shù)方法都會(huì)返回 null,而了解問(wèn)題所在的唯一方法是獲取不再可訪問(wèn)的 __soap_fault
.
Wie soll ich Methoden verwenden __doRequest
, wenn ich keinen Zugriff auf SoapClient-Eigenschaften habe?
查看舊的 SoapClient
文檔,似乎直接訪問(wèn)屬性總是錯(cuò)誤 - 對(duì)于 php7.2 例如根據(jù)回程機(jī)器, __soap_fault
根本沒(méi)有記錄(參見(jiàn) https://web.archive.org/web/20171211100753/http://us3.php.net/manual/en/class.soapclient。 php)
文檔說(shuō)明如下:
我想說(shuō),請(qǐng)確保啟用了異常(通過(guò)將 $options['exceptions'] =>?true
傳遞給 SoapClient 構(gòu)造函數(shù))并在 try/catch 中處理這些異常
相應(yīng)地。如果這沒(méi)有幫助,一個(gè)帶有未正確處理的具體錯(cuò)誤的新問(wèn)題可能會(huì)更有幫助。