0

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

?>
4

1 に答える 1

2

次の方法でアクセスをテストしてみてください。

サーバーの 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

于 2013-08-29T22:40:51.197 に答える