2011-09-23 171 views
1

我試圖用我發現這裏的類進行SOAP調用到我們的Exchange服務器:PHP-EWS類庫總是返回null

http://code.google.com/p/php-ews/

我已經編寫了幾個例子,從基本如下所示,無論我嘗試做什麼,並始終返回null。

$ews = new ExchangeWebServices('exchange.example.com', 'user', 'password'); 

$request = new EWSType_FindFolderType(); 
$request->Traversal = EWSType_FolderQueryTraversalType::SHALLOW; 
$request->FolderShape = new EWSType_FolderResponseShapeType(); 
$request->FolderShape->BaseShape = EWSType_DefaultShapeNamesType::ALL_PROPERTIES; 

$request->IndexedPageFolderView = new EWSType_IndexedPageViewType(); 
$request->IndexedPageFolderView->BasePoint = 'Beginning'; 
$request->IndexedPageFolderView->Offset = 0; 

$request->ParentFolderIds = new EWSType_NonEmptyArrayOfBaseFolderIdsType(); 
$request->ParentFolderIds->DistinguishedFolderId = new EWSType_DistinguishedFolderIdType(); 
$request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::INBOX; 

$response = $ews->FindFolder($request); 
var_dump($response); 

有沒有其他人遇到過這個錯誤,或者可能爲我揭示一些光?

+0

php-ews庫的新位置是:https://github.com/jamesiarmes/php-ews/ – UnderDog

回答

2

你的要求看起來不錯,它應該工作。您是否使用EWS服務器地址設置了services.wsdl? (有關更多信息,請參閱http://ewswrapper.lafiel.net/basic-info/working-with-ewswrapper/

嘗試查看發送前的實際呼叫以及解釋前的響應。 爲此,在NTMLSoapClinet.php中打印$ _do at __doRequest()函數並結束腳本執行(即die()),然後嘗試打印$ response befor,它會在__doRequest()函數中返回並結束腳本執行。這應該會讓你更深入地瞭解正在發生的事情。

+0

原來,這是我使用的帳戶。幸運的是這個項目變成了罐頭,所以我可以高興地把M $的世界拋在後面:o) – frak