2011-09-23 50 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