Библиотека классов php-ews всегда возвращает ноль - PullRequest
1 голос
/ 23 сентября 2011

Я пытаюсь сделать SOAP-вызовы на наш сервер Exchange, используя классы, которые я нашел здесь:

http://code.google.com/p/php-ews/

Я кодировал несколько примеров, начиная с основногониже и независимо от того, что я пытаюсь сделать, это всегда возвращает нуль.

$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);

Кто-нибудь еще сталкивался с этой ошибкой, или может пролить свет на это для меня?

1 Ответ

2 голосов
/ 26 сентября 2011

Ваш запрос выглядит нормально, он должен работать. Вы установили services.wsdl с адресом вашего сервера EWS? (см. http://ewswrapper.lafiel.net/basic-info/working-with-ewswrapper/ для получения дополнительной информации)

Попробуйте посмотреть фактический вызов до его отправки и ответ до его интерпретации. Для этого в NTMLSoapClinet.php выведите $ request в верхней части функции __doRequest () и завершите выполнение скрипта (т. Е. Die ()), а затем попробуйте напечатать $ response до того, как он будет возвращен в функцию __doRequest () и завершить выполнение скрипта. Это должно дать вам больше понимания того, что происходит.

...