跟踪 SOAP 请求和响应

有时我们想查看 SOAP 请求中发送和接收的内容。以下方法将在请求和响应中返回 XML:

SoapClient::__getLastRequest()
SoapClient::__getLastRequestHeaders()
SoapClient::__getLastResponse()
SoapClient::__getLastResponseHeaders()

例如,假设我们有一个 ENVIRONMENT 常量,当这个常量的值设置为 DEVELOPMENT 时,我们想要在调用 getAddress 时抛出所有信息。一种解决方案可能是:

try {
    $address = $soap_client->getAddress(1234);
} catch (SoapFault $e) {
    if (ENVIRONMENT === 'DEVELOPMENT') {
        var_dump(
            $soap_client->__getLastRequestHeaders()
            $soap_client->__getLastRequest(),
            $soap_client->__getLastResponseHeaders(),
            $soap_client->__getLastResponse()
        );
    }
    ...
}