2012-02-02 77 views
3

我有一個使用PHP-EWS連接到Exchange 2007服務器並返回一組日曆項的小型CodeIgniter 2.1.0應用程序。使用PHP-EWS的某些服務器上的Exchange Web服務請求返回401

它在我本地的MAMP開發機器上效果很好。當我部署到我的臨時服務器用於測試(BlueHost的共享主機),我收到以下錯誤:

PHP Fatal error: Uncaught exception 'EWS_Exception' with message 'SOAP client returned status of 401'

任何想法?

+1

聽起來就像您的憑證沒有通過SOAP消息正確傳遞。你應該分享你的代碼,以便我們看到問題。 – SliverNinja 2012-02-07 15:02:05

+1

401是'未經授權的'錯誤代碼。看看這個:http://stackoverflow.com/questions/7664249/access-exchange-web-services-with-php-and-curl,通讀我的答案和評論。看看你是否可以通過生產服務器進行認證交換。 – Maiiku 2012-02-08 12:33:22

+0

您可能會檢查您是否使用SSL進行通話。如果內存服務於我,Exchange已知如果請求沒有安全地發出401錯誤。您的Bluehost帳戶可能不會被設置爲執行此操作。 – 2012-03-04 02:50:40

回答

0

嘗試使用wfetch/fiddler或類似的東西重新創建請求並提交,以便您可以檢查EWS的響應。

根據您用來提交請求的庫,嘗試打開更高粒度的日誌記錄。

是否已將所有服務器配置爲使用相同的cacert信任庫來允許EWS請求?