PHP-EWS没有数据收到消息

时间:2013-03-29 14:20:53

标签: exchangewebservices php-ews

我刚刚下载了按照README说明安装的PHP-EWS,并启动了一个脚本来测试其功能。当我尝试在浏览器中运行脚本时,收到以下消息: enter image description here

当我提供登录时,我收到相同的消息,我知道该消息无效。我似乎正在连接到我的Exchange服务器,但它无法识别我提供的凭据。

这是我正在使用的脚本

<?php
function __autoload($className)
{
    $className = str_replace('_','/', $className);
    $sFileName = $className . '.php';

    if (file_exists($sFileName) && !class_exists($className))
    {
        require_once $sFileName;
    }
    // If the above if fails, you're program will terminate, there is no way to catch this.
}

include("ExchangeWebServices.php");

$host = "https://myexchange/EWS/Services.wsdl";
$username = "myusername@mydomain.com";
$password = "mypassword";

$ews = new ExchangeWebServices($host, $username, $password);

$request = new EWSType_FindItemType();

$request->ItemShape = new EWSType_ItemResponseShapeType();
$request->ItemShape->BaseShape = EWSType_DefaultShapeNamesType::DEFAULT_PROPERTIES;

$request->Traversal = EWSType_ItemQueryTraversalType::SHALLOW;

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

// sort order
$request->SortOrder = new EWSType_NonEmptyArrayOfFieldOrdersType();
$request->SortOrder->FieldOrder = array();
$order = new EWSType_FieldOrderType();
// sorts mails so that oldest appear first
// more field uri definitions can be found from types.xsd (look for UnindexedFieldURIType)
$order->FieldURI->FieldURI = 'item:DateTimeReceived'; 
$order->Order = 'Ascending'; 
$request->SortOrder->FieldOrder[] = $order;

$response = $ews->FindItem($request);
echo '<pre>'.print_r($response, true).'</pre>';

?>

1 个答案:

答案 0 :(得分:2)

尝试通过以下方式测试您的访问权限:

直接点击服务器网址:https:// YOUREXCHANGESERVER /EWS/Services.wsdl

系统会提示您输入凭据。输入凭据后,您将看到WSDL定义。如果它没有显示类似于下面示例的WSDL定义,请与管理员核实凭据或是否有任何防火墙块。

示例(部分回复):

<wsdl:definitions targetNamespace="http://schemas.microsoft.com/exchange/services /2006/messages"><wsdl:types><xs:schema><xs:import namespace="http://schemas.microsoft.com/exchange/services/2006/messages" schemaLocation="messages.xsd"/></xs:schema></wsdl:types>

我在分析网络服务时使用的一个很好的工具是:SmartBear的SOAP-UI