因此,我有一個使用Zend亞馬遜Web服務客戶端的應用程序。我現在從服務中收到一個錯誤,我想看到原始請求和響應。如何在使用Zend_Rest_Client時調試Web服務
我找不到在文檔中這樣做的方法!這個類實現了Zend_Rest_Client,所以看起來應該有一個rawResponse()方法,但沒有。這是在生產服務器上,我在防火牆後面,所以我不能代理小提琴手。
有什麼建議嗎?
因此,我有一個使用Zend亞馬遜Web服務客戶端的應用程序。我現在從服務中收到一個錯誤,我想看到原始請求和響應。如何在使用Zend_Rest_Client時調試Web服務
我找不到在文檔中這樣做的方法!這個類實現了Zend_Rest_Client,所以看起來應該有一個rawResponse()方法,但沒有。這是在生產服務器上,我在防火牆後面,所以我不能代理小提琴手。
有什麼建議嗎?
Zend_Rest_Client
延伸Zend_Service_Abstract
,這又實現了getHttpClient()
方法,它返回一個Zend_Http_Client
該實例公開了一個getLastResponse()
方法,該方法返回一個Zend_Http_Response
實例,該實例再次公開getBody()
方法。唷,這是OOP我猜:)。
讓我們來談談我們的語言雖然:
$restClient->getHttpClient()->getLastResponse()->getBody();
就是這樣。
編輯:
看來,Zend_Service_Abstract::getHttpClient()
是靜態的,所以你甚至可以把它像這樣:
Zend_Service_Abstract::getHttpClient()->getLastResponse()->getBody();
但我不會推薦它。您必須知道何時調用該方法,因爲HTTP客戶端必須填充一些響應。更不用說靜態方法只是某種全局變量,這很糟糕。
因此,答案是重載亞馬遜類,並打印出該ItemSearch $響應 - > getBody()方法/ ItemLookup
,如果你想查看實際的XML收到,那麼你應該:
$ actual_xml =ヶ輛($客戶 - > getHttpClient() - >使用getLastResponse() - > getBody());
echo $ actual_xml;
注意。
如果你想寫這個文件,然後使用htmlspecialchars_decode($ actual_xml);
太好了。謝謝。 – 2009-08-19 18:46:25