Использование WSDL с абстрактными типами в PHP

Я работаю над интеграцией нашего веб-приложения с Microsoft Exchange 2007. Я использую веб-службы Exchange (EWS) для связи с Exchange Server. Тем не менее, я сталкиваюсь с некоторыми проблемами с WSDL. В WSDL есть несколько типов, которые содержат элементы абстрактных типов. Например:


  
    
  

SearchExpression является абстрактным типом. Существует несколько типов, расширяющих SearchExpression, например ExistsType:

 
   
     
      ...
    
  


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


  
    ...
  

Тем не менее, когда я пытаюсь сделать вызов с помощью PHP 's класс SoapClient Я получаю следующую ошибку:

Запрос не прошел проверку схемы: элемент 'http://schemas.microsoft.com/exchange/services/2006/types:SearchExpression» абстрактный или его тип абстрактный.

Если я изменю определение типа RestrictionType следующим образом, вызов сработает:


Это PHPОбработка SOAP не в состоянии правильно обрабатывать абстрактные типы в WSDL, или может быть что-то не так с самим WSDL? WSDL хранится локально, поэтому я могу внести в него изменения, если возникнет такая необходимость.

Спасибо за вашу помощь заранее.

Редактировать:

Я просто хотел уточнить, что я сам не формирую XML. Я использую следующий код, который должен создавать правильный XML:

$request->Restriction->IsGreaterThan->FieldURI->FieldURI =
  'item:DateTimeReceived';
$request->Restriction->IsGreaterThan->FieldURIOrConstant
  ->Constant->Value = date('c', $last_checked_time);

Ответы на вопрос(3)

Ваш ответ на вопрос