1

ここで見つけたクラスを使用して、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);

他の誰かがこのエラーに遭遇したことがありますか、それとも私のためにそれを明らかにすることができますか?

4

1 に答える 1

2

あなたのリクエストは問題ないようです。うまくいくはずです。EWS サーバー アドレスを使用して services.wsdl をセットアップしましたか? (詳細については、 http://ewswrapper.lafiel.net/basic-info/working-with-ewswrapper/を参照してください)

送信前の実際の呼び出しと、解釈される前の応答を確認してみてください。これを行うには、NTMLSoapClinet.php で __doRequest() 関数の先頭に $request を出力し、スクリプトの実行を終了します (つまり、die())。次に、__doRequest() 関数で返される前に $response を出力して、スクリプトの実行を終了します。これにより、何が起こっているのかについての洞察が得られるはずです。

于 2011-09-26T06:55:12.467 に答える