【问题标题】:PHP-EWS No Data Received MessagePHP-EWS 未收到数据消息
【发布时间】:2013-08-30 06:40:51
【问题描述】:

我刚刚下载了 PHP-EWS,按照 README 说明进行安装,然后编写了一个脚本来测试其功能。当我尝试在浏览器中运行脚本时,我收到以下消息:

当我提供一个我知道无效的登录名时,我收到了同样的消息。我似乎正在连接到我的 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>';

?>

【问题讨论】:

    标签: exchangewebservices php-ews


    【解决方案1】:

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

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

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

    示例(部分回复):

    &lt;wsdl:definitions targetNamespace="http://schemas.microsoft.com/exchange/services /2006/messages"&gt;&lt;wsdl:types&gt;&lt;xs:schema&gt;&lt;xs:import namespace="http://schemas.microsoft.com/exchange/services/2006/messages" schemaLocation="messages.xsd"/&gt;&lt;/xs:schema&gt;&lt;/wsdl:types&gt;

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2016-07-20
      • 2013-09-04
      • 2018-11-21
      • 2020-10-19
      • 2018-05-15
      • 2014-02-17
      相关资源
      最近更新 更多