php-ews类库总是返回null

时间:2011-09-23 13:04:49

标签: php null exchangewebservices php-ews

我正在尝试使用我在此处找到的类对我们的Exchange服务器进行SOAP调用:

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);

有没有其他人遇到过这个错误,或者可以为我解释一下?

1 个答案:

答案 0 :(得分:2)

您的要求看起来很好,它应该有效。您是否使用EWS服务器地址设置了services.wsdl? (有关更多信息,请参阅http://ewswrapper.lafiel.net/basic-info/working-with-ewswrapper/

尝试在发送之前查看实际调用,并在解释之前查看响应。 要在NTMLSoapClinet.php中执行此操作,请在__doRequest()函数的顶部打印$ request并结束脚本执行(即die()),然后尝试打印$ response,因为它在__doRequest()函数和结束脚本执行中返回。这可以让您更深入地了解正在发生的事情。