跟蹤 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()
        );
    }
    ...
}