PHP의 SoapClient를 사용하고 PHP 8.1과 호환되는 라이브러리를 만드는 동안 다음 문제에 직면했습니다.
SoapClient의 모든 속성은 이전에 공개였으나 이제는 비공개입니다.
그래서 마지막 비누 결함을 얻는 것과 같은 것 ($soapClient->__soap_fault
)之类的事情不再可能。但如果出现问题,SoapClient 的大多数方法都会返回 null,而了解问题所在的唯一方法是获取不再可访问的 __soap_fault
.
SoapClient 속성에 액세스할 수 없는 경우 메서드를 어떻게 사용해야 __doRequest
합니까?
오래된
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 中处理这些异常
변경). 그래도 도움이 되지 않으면 올바르게 처리되지 않은 특정 오류가 포함된 새 질문을 작성하는 것이 더 도움이 될 수 있습니다.