首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP-EWS未收到数据消息

PHP-EWS未收到数据消息
EN

Stack Overflow用户
提问于 2013-03-29 22:20:53
回答 1查看 437关注 0票数 0

我刚刚下载了PHP-EWS,按照自述文件的说明安装,并启动了一个脚本来测试它的功能。当我尝试在浏览器中运行该脚本时,收到以下消息:

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

下面是我正在使用的脚本

代码语言:javascript
复制
<?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>';

?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-30 06:40:51

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

直接命中服务器url: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>

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15705141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档