diff --git a/.gitignore b/.gitignore index 4bc4548..622e448 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ wsdltophp.phar vendor composer.lock +samples/_*.php diff --git a/CHANGELOG.md b/CHANGELOG.md index 61f76f5..5c68815 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # CHANGELOG +## 1.0.0 +- Create update schema as substitutionGroup attribute is not handled by the native PHP SoapClient class +- Update generated classes thanks to PackageGenerator fixed issues +- Working samples have been added +- Implement a method into the SoapClient class in order to remove useless empty request tags + ## 0.0.8 - Minor readme update diff --git a/README.md b/README.md index 93c86b7..28b7f2c 100755 --- a/README.md +++ b/README.md @@ -7,13 +7,14 @@ # PackageEws365 This package has been generated from the [Office 365 Exchange Web Services](wsdl/services.wsdl) WSDL using the [PackageGenerator](https://github.com/WsdlToPhp/PackageGenerator) project. +The complete list of operations is available at the [Office Dev Center](https://msdn.microsoft.com/fr-fr/library/office/bb409286(v=exchg.150).aspx). + # Summary - [Generating again the package](#generating-again-the-package) - [How to use the generated package?](#how-to-use-the-generated-package) - [Install the project](#install-the-project) - [Learn from the tutorial](#learn-from-the-tutorial) - [Start from the samples](#start-from-the-samples) - - [GetServerTimeZones](samples/GetServerTimeZones.php) - [Need support or having a question?](#need-support-or-having-a-question) # Generating again the package @@ -37,10 +38,36 @@ $ composer update ## Learn from the tutorial Start looking into the auto-generated [tutorial.php](tutorial.php) file. This file contains the starting code to use this package. In addition it contains all the operations provided by the Exchange Web Services and the way to call them. +## Determine your Office 365 endpoint action location +Determining the Office 365 endpoint action location can be tricky so below is indicated 2 ways to do it. This location must be defined in the `setLocation` call into the sample files. +The default location has been defined so it might work fine with you too. If not, you should try determining it. If you don't understand, don't hesitate to contact me at contact@wsdltophp.com. + +### Manually from the endpoint itself +You should be able to get the endpoint action location from the services.wsdl by opening your browser and browsing to [outlook.office365.com/EWS/Exchange.asmx](https://outlook.office365.com/EWS/Exchange.asmx). +You must enter your Office 365 credentials then it should display a page where it indicates something such as `svcutil.exe https://**.outlook.com/EWS/Services.wsdl`. +This is in the `https://**.outlook.com/EWS/Services.wsdl` that you can find at the end the endpoint action location such as ``. + +### From your Office 365 account +Following this [Tech Blog article](http://blog.skysoft-is.com/?p=78), I simply used the endpoint location action indicated in the article as https://pod51036.outlook.com/ews/services.wsdl and it worked :). + ## Start from the samples Sample scripts are available under the [samples](samples) folder: - [GetServerTimeZones](samples/GetServerTimeZones.php) +- [Inbox](samples/inbox) + - [FindItems](samples/inbox/FindItems.php) + - [FindUnreadItems](samples/inbox/FindUnreadItems.php) + - [GetItem](samples/inbox/GetItem.php) +- [Contact](samples/contact) + - [FindItems](samples/contact/FindItems.php) + - [GetItem](samples/contact/GetItem.php) +- [Calendar](samples/calendar) + - [FindItems](samples/calendar/FindItems.php) + - [GetItem](samples/calendar/GetItem.php) +- [Task](samples/task) + - [CreateItem](samples/task/CreateItem.php) + - [FindItems](samples/task/FindItems.php) + - [GetItem](samples/task/GetItem.php) # Need support or having a question? -We can help you understand how to use it and how to customize it. Feel free to contact us at contact@wsdltophp.com. +We can help you understand how to use it and how to customize it. Feel free to contact us at contact@wsdltophp.com. \ No newline at end of file diff --git a/SoapClient/SoapClient.php b/SoapClient/SoapClient.php index eb7bb28..ed5133a 100755 --- a/SoapClient/SoapClient.php +++ b/SoapClient/SoapClient.php @@ -8,4 +8,80 @@ */ class SoapClient extends \SoapClient { + /** + * @var string + */ + protected $lastModifiedRequest; + /** + * @param string $request + * @param string $location + * @param string $action + * @param string $version + * @param number $one_way + * @return mixed + */ + public function __doRequest($request, $location, $action, $version, $one_way = 0) + { + $this->removeEmptyTags($request); + return parent::__doRequest($this->__getLastRequest(), $location, $action, $version, $one_way); + } + /** + * Returns last request + * @see SoapClient::__getLastRequest() + * @return string + */ + public function __getLastRequest() + { + return $this->lastModifiedRequest; + } + /** + * Sets last request values + * @param string $_lastRequest + * @return string + */ + public function __setLastRequest($lastRequest) + { + return ($this->lastModifiedRequest = $lastRequest); + } + /** + * Removes empty tags from XML + * @param string $xml + * @param array $exceptTags + * @return string + */ + private function removeEmptyTags($xml, $exceptTags = array()) + { + if (!empty($xml)) { + $dom = new \DOMDocument('1.0', 'UTF-8'); + $dom->formatOutput = true; + if ($dom->loadXML($xml) && $dom->hasChildNodes()) { + $mainNode = $dom->childNodes->item(0); + self::removeEmptyTagsFromDomNode($mainNode, $exceptTags); + $xml = $dom->saveXML($mainNode); + } + } + return $this->__setLastRequest($xml); + } + /** + * Removes empty tags from \DOMNode + * @uses RemoveEmptyRequestTags::removeEmptyTagsFromDomNode() + * @param \DOMNode $domNode + * @return void + */ + private static function removeEmptyTagsFromDomNode(\DOMNode &$domNode, $exceptTags = array()) + { + if ($domNode->hasChildNodes()) { + foreach ($domNode->childNodes as $childNode) { + self::removeEmptyTagsFromDomNode($childNode, $exceptTags); + } + } elseif (trim($domNode->nodeValue) === '' && !in_array($domNode->nodeName, $exceptTags) && $domNode->attributes->length === 0) { + /** + * As the parent might not have returned an empty value as it contained this child + * we go process back the parent to be sure that he validated as not empty + */ + $parentNode = $domNode->parentNode; + $domNode->parentNode->removeChild($domNode); + self::removeEmptyTagsFromDomNode($parentNode, $exceptTags); + } + } } diff --git a/composer.json b/composer.json index 95aa120..5190b72 100755 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "name": "wsdltophp/package-ews365", - "description": "Package generated from wsdl/services.wsdl using wsdltophp/packagegenerator", + "description": "Package generated from wsdl/services.updated.wsdl using wsdltophp/packagegenerator", "require": { "php": ">=5.3.3", "ext-soap": "*", @@ -12,4 +12,4 @@ "SoapClient\\": "./SoapClient/" } } -} +} \ No newline at end of file diff --git a/generate.sh b/generate.sh index 5e6ef98..b581dd1 100755 --- a/generate.sh +++ b/generate.sh @@ -15,17 +15,18 @@ rm -rf $DEST/src/ \ # package informations php wsdltophp.phar generate:package \ - --urlorpath=$DEST"/wsdl/services.wsdl" \ + --urlorpath=$DEST"/wsdl/services.updated.wsdl" \ --destination=$DEST \ --composer-name="wsdltophp/package-ews365" \ --composer-settings="autoload.psr-4.SoapClient\:./SoapClient/" \ + --composer-settings="require-dev.wsdltophp/packagegenerator:~2.0" \ --addcomments="author:WsdlToPhp " \ --soapclient="\SoapClient\SoapClientBase" \ --prefix="Ews"; # generate package php wsdltophp.phar generate:package \ - --urlorpath=$DEST"/wsdl/services.wsdl" \ + --urlorpath=$DEST"/wsdl/services.updated.wsdl" \ --destination=$DEST \ --composer-name="wsdltophp/package-ews365" \ --composer-settings="autoload.psr-4.SoapClient\:./SoapClient/" \ diff --git a/samples/GetServerTimeZones.php b/samples/GetServerTimeZones.php index 9efb32d..82c58fe 100755 --- a/samples/GetServerTimeZones.php +++ b/samples/GetServerTimeZones.php @@ -10,9 +10,11 @@ use WsdlToPhp\PackageBase\AbstractSoapClientBase; use Ews\EnumType\EwsExchangeVersionType; use Ews\EwsClassMap; +use Ews\StructType\EwsRequestServerVersion; +use Ews\StructType\EwsGetServerTimeZonesType; /** - * Your Office 365 login, like {id}@{id}.onmicrosoft.com + * Your Office 365 login */ define('EWS_WS_LOGIN', ''); /** @@ -37,11 +39,11 @@ /** * Configure the SoapHeader, each header's method begins with "setSoapHeader". */ -$get->setSoapHeaderRequestServerVersion(new \Ews\StructType\EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); +$get->setSoapHeaderRequestServerVersion(new EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); /** - * Send the request, you can customize the request by modifiying the new \Ews\StructType\EwsGetServerTimeZonesType() instance + * Send the request, you can customize the request by modifiying the new EwsGetServerTimeZonesType() instance */ -$result = $get->GetServerTimeZones(new \Ews\StructType\EwsGetServerTimeZonesType()); +$result = $get->GetServerTimeZones(new EwsGetServerTimeZonesType()); /** * Debug informations provided by the utility methods diff --git a/samples/calendar/FindItems.php b/samples/calendar/FindItems.php new file mode 100644 index 0000000..3063f16 --- /dev/null +++ b/samples/calendar/FindItems.php @@ -0,0 +1,99 @@ + __DIR__ . '/../../wsdl/services.updated.wsdl', + AbstractSoapClientBase::WSDL_CLASSMAP => EwsClassMap::get(), + AbstractSoapClientBase::WSDL_LOGIN => EWS_WS_LOGIN, + AbstractSoapClientBase::WSDL_PASSWORD => EWS_WS_PASSWORD, +); + +/** + * Instanciation of the ServiceType get that gather all the operations beginnig with "get". + */ +$find = new \Ews\ServiceType\EwsFind($options); +$find->setLocation('https://pod51036.outlook.com/ews/Exchange.asmx'); +/** + * Configure the SoapHeader, each header's method begins with "setSoapHeader". + */ +$find->setSoapHeaderRequestServerVersion(new EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); +/** + * Send the request + */ +$itemType = new EwsFindItemType(); +$itemShape = new EwsItemResponseShapeType(EwsDefaultShapeNamesType::VALUE_ALL_PROPERTIES); +$itemType + ->setItemShape($itemShape) + ->setParentFolderIds(new EwsNonEmptyArrayOfBaseFolderIdsType(null, new EwsDistinguishedFolderIdType(EwsDistinguishedFolderIdNameType::VALUE_CALENDAR))) + ->setTraversal(EwsItemQueryTraversalType::VALUE_SHALLOW); +$result = $find->FindItem($itemType); + +/** + * Debug informations provided by the utility methods + */ +if (false) { + echo 'XML Request: ' . $find->getLastRequest() . "\r\n"; + echo 'Headers Request: ' . $find->getLastRequestHeaders() . "\r\n"; + echo 'XML Response: ' . $find->getLastResponse() . "\r\n"; + echo 'Headers Response: ' . $find->getLastResponseHeaders() . "\r\n"; +} + +if ($result !== false) { + /** + * Display the Calendar items if there is at least one: + * + * Event with subject "***" starts at "2017-03-15T08:00:00-06:00" and ends at "2017-03-15T08:30:00-06:00" with timezone "(UTC-07:00) Mountain Time (US & Canada)" + * Event with subject "***" starts at "2017-03-15T08:00:00-06:00" and ends at "2017-03-15T08:30:00-06:00" with timezone "(UTC-07:00) Mountain Time (US & Canada)" + * ... etc + */ + foreach($result->getResponseMessages()->getFindItemResponseMessage() as $message) { + $events = $message->getRootFolder()->getItems()->getCalendarItem(); + if(is_array($events)) { + foreach($events as $item) { + echo PHP_EOL . sprintf('Event with subject "%s" starts at "%s" and ends at "%s" with timezone "%s"', + $item->getSubject(), + $item->getStartWallClock(), + $item->getEndWallClock(), + $item->getTimeZone()); + } + } else { + echo PHP_EOL . 'No event found'; + } + echo PHP_EOL; + } +} else { + /** + * In this case, we get the \SoapFault object + */ + print_r($find->getLastErrorForMethod('\Ews\ServiceType\EwsFind::FindItem')); +} \ No newline at end of file diff --git a/samples/calendar/GetItem.php b/samples/calendar/GetItem.php new file mode 100644 index 0000000..854f81f --- /dev/null +++ b/samples/calendar/GetItem.php @@ -0,0 +1,105 @@ + __DIR__ . '/../../wsdl/services.updated.wsdl', + AbstractSoapClientBase::WSDL_CLASSMAP => EwsClassMap::get(), + AbstractSoapClientBase::WSDL_LOGIN => EWS_WS_LOGIN, + AbstractSoapClientBase::WSDL_PASSWORD => EWS_WS_PASSWORD, +); + +/** + * Instanciation of the ServiceType get that gather all the operations beginnig with "get". + */ +$get = new \Ews\ServiceType\EwsGet($options); +$get->setLocation('https://pod51036.outlook.com/ews/Exchange.asmx'); +/** + * Configure the SoapHeader, each header's method begins with "setSoapHeader". + */ +$get->setSoapHeaderRequestServerVersion(new EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); +/** + * Send the request with your actual ID + * inbox item id : AQMkADdmZTc2Y2EwLWM4QtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAD4a54IMUm0UC0Oie/nN4R4AcAHM3Rq81r8UGBMGXZ2QDPNOoAAAIBDAAAADSezQdp0a5Anuxdk9hQzRAAAAIFUQAAAA== + * calendar item id : AAMkADdmZTc2Y2EwL4YmQtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAENAAA0ns0HadGuQJ7sXZPYUM0QAAAVnj3eAAA= + * taks item id : AAMkADdmZTc2Y2EwLWM4YtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAESAAA0ns0HadGuQJ7sXZPYUM0QAAAVnkW1AAA= + * contac titme id : AAMkADdmZTc2Y2EwLWYmQtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAEOAAA0ns0HadGuQJ7sXZPYUM0QAAAVnjYCAAA= + */ +$itemType = new EwsGetItemType(); +$shapeType = new EwsItemResponseShapeType(); +$shapeType + ->setBaseShape(EwsDefaultShapeNamesType::VALUE_ALL_PROPERTIES) + ->setBodyType(EwsBodyTypeResponseType::VALUE_BEST); +$itemType + ->setItemShape($shapeType) + ->setItemIds( + new EwsNonEmptyArrayOfBaseItemIdsType( + new EwsItemIdType('******************************************************************************************************************************************************') + ) + ); +$result = $get->GetItem($itemType); + +/** + * Debug informations provided by the utility methods + */ +if (false) { + echo 'XML Request: ' . $get->getLastRequest() . "\r\n"; + echo 'Headers Request: ' . $get->getLastRequestHeaders() . "\r\n"; + echo 'XML Response: ' . $get->getLastResponse() . "\r\n"; + echo 'Headers Response: ' . $get->getLastResponseHeaders() . "\r\n"; +} + +if ($result !== false) { + /** + * Display the item data depending on its type: + */ + foreach($result->getResponseMessages()->getGetItemResponseMessage() as $message) { + /** + * In case of a Calendar Item + */ + if (is_array($message->getItems()->getCalendarItem())) { + foreach($message->getItems()->getCalendarItem() as $item) { + if ($item instanceof EwsCalendarItemType) { + echo PHP_EOL . sprintf('Appointment named "%s" takes place at "%s"', + $item->getSubject(), + $item->getStartWallClock()); + } + } + } + echo PHP_EOL; + } +} else { + /** + * In this case, we get the \SoapFault object + */ + print_r($get->getLastErrorForMethod('\Ews\ServiceType\EwsGet::GetItem')); +} \ No newline at end of file diff --git a/samples/contact/FindItems.php b/samples/contact/FindItems.php new file mode 100644 index 0000000..fe034d2 --- /dev/null +++ b/samples/contact/FindItems.php @@ -0,0 +1,99 @@ + __DIR__ . '/../../wsdl/services.updated.wsdl', + AbstractSoapClientBase::WSDL_CLASSMAP => EwsClassMap::get(), + AbstractSoapClientBase::WSDL_LOGIN => EWS_WS_LOGIN, + AbstractSoapClientBase::WSDL_PASSWORD => EWS_WS_PASSWORD, +); + +/** + * Instanciation of the ServiceType get that gather all the operations beginnig with "get". + */ +$find = new \Ews\ServiceType\EwsFind($options); +$find->setLocation('https://pod51036.outlook.com/ews/Exchange.asmx'); +/** + * Configure the SoapHeader, each header's method begins with "setSoapHeader". + */ +$find->setSoapHeaderRequestServerVersion(new EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); +/** + * Send the request + */ +$itemType = new EwsFindItemType(); +$itemShape = new EwsItemResponseShapeType(EwsDefaultShapeNamesType::VALUE_ALL_PROPERTIES); +$itemType + ->setItemShape($itemShape) + ->setParentFolderIds(new EwsNonEmptyArrayOfBaseFolderIdsType(null, new EwsDistinguishedFolderIdType(EwsDistinguishedFolderIdNameType::VALUE_CONTACTS))) + ->setTraversal(EwsItemQueryTraversalType::VALUE_SHALLOW); +$result = $find->FindItem($itemType); + +/** + * Debug informations provided by the utility methods + */ +if (false) { + echo 'XML Request: ' . $find->getLastRequest() . "\r\n"; + echo 'Headers Request: ' . $find->getLastRequestHeaders() . "\r\n"; + echo 'XML Response: ' . $find->getLastResponse() . "\r\n"; + echo 'Headers Response: ' . $find->getLastResponseHeaders() . "\r\n"; +} + +if ($result !== false) { + /** + * Display the Contact items if there is at least one: + * + * Contact "{firstName} {lastName} <{email}>" + * Contact "{firstName} {lastName} <{email}>" + * ... etc + */ + foreach($result->getResponseMessages()->getFindItemResponseMessage() as $message) { + $contacts = $message->getRootFolder()->getItems()->getContact(); + if(is_array($contacts)) { + foreach($contacts as $item) { + $addresses = $item->getEmailAddresses()->getEntry(); + echo PHP_EOL . sprintf('Contact "%s %s <%s>"', + $item->getCompleteName()->getFirstName(), + $item->getCompleteName()->getLastName(), + is_array($addresses) ? array_shift($addresses)->get_() : ''); + } + } else { + echo PHP_EOL . 'No contact found'; + } + echo PHP_EOL; + } +} else { + /** + * In this case, we get the \SoapFault object + */ + print_r($find->getLastErrorForMethod('\Ews\ServiceType\EwsFind::FindItem')); +} \ No newline at end of file diff --git a/samples/contact/GetItem.php b/samples/contact/GetItem.php new file mode 100644 index 0000000..ee8efcc --- /dev/null +++ b/samples/contact/GetItem.php @@ -0,0 +1,108 @@ + __DIR__ . '/../../wsdl/services.updated.wsdl', + AbstractSoapClientBase::WSDL_CLASSMAP => EwsClassMap::get(), + AbstractSoapClientBase::WSDL_LOGIN => EWS_WS_LOGIN, + AbstractSoapClientBase::WSDL_PASSWORD => EWS_WS_PASSWORD, +); + +/** + * Instanciation of the ServiceType get that gather all the operations beginnig with "get". + */ +$get = new \Ews\ServiceType\EwsGet($options); +$get->setLocation('https://pod51036.outlook.com/ews/Exchange.asmx'); +/** + * Configure the SoapHeader, each header's method begins with "setSoapHeader". + */ +$get->setSoapHeaderRequestServerVersion(new EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); +/** + * Send the request with your actual ID + * inbox item id : AQMkADdmZTc2Y2EwLWM4QtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAD4a54IMUm0UC0Oie/nN4R4AcAHM3Rq81r8UGBMGXZ2QDPNOoAAAIBDAAAADSezQdp0a5Anuxdk9hQzRAAAAIFUQAAAA== + * calendar item id : AAMkADdmZTc2Y2EwL4YmQtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAENAAA0ns0HadGuQJ7sXZPYUM0QAAAVnj3eAAA= + * taks item id : AAMkADdmZTc2Y2EwLWM4YtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAESAAA0ns0HadGuQJ7sXZPYUM0QAAAVnkW1AAA= + * contac titme id : AAMkADdmZTc2Y2EwLWYmQtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAEOAAA0ns0HadGuQJ7sXZPYUM0QAAAVnjYCAAA= + */ +$itemType = new EwsGetItemType(); +$shapeType = new EwsItemResponseShapeType(); +$shapeType + ->setBaseShape(EwsDefaultShapeNamesType::VALUE_ALL_PROPERTIES) + ->setBodyType(EwsBodyTypeResponseType::VALUE_BEST); +$itemType + ->setItemShape($shapeType) + ->setItemIds( + new EwsNonEmptyArrayOfBaseItemIdsType( + new EwsItemIdType('******************************************************************************************************************************************************') + ) + ); +$result = $get->GetItem($itemType); + +/** + * Debug informations provided by the utility methods + */ +if (false) { + echo 'XML Request: ' . $get->getLastRequest() . "\r\n"; + echo 'Headers Request: ' . $get->getLastRequestHeaders() . "\r\n"; + echo 'XML Response: ' . $get->getLastResponse() . "\r\n"; + echo 'Headers Response: ' . $get->getLastResponseHeaders() . "\r\n"; +} + +if ($result !== false) { + /** + * Display the item data depending on its type: + */ + foreach($result->getResponseMessages()->getGetItemResponseMessage() as $message) { + /** + * In case of an Inbox Item + */ + if (is_array($message->getItems()->getMessage())) { + foreach($message->getItems()->getMessage() as $item) { + if ($item instanceof EwsMessageType) { + echo PHP_EOL . sprintf('Email sent by "%s <%s>" with subject "%s" sent at "%s" received at "%s"', + $item->getSender()->getMailbox()->getName(), + $item->getSender()->getMailbox()->getEmailAddress(), + $item->getSubject(), + $item->getDateTimeSent(), + $item->getDateTimeReceived()); + } + } + } + echo PHP_EOL; + } +} else { + /** + * In this case, we get the \SoapFault object + */ + print_r($get->getLastErrorForMethod('\Ews\ServiceType\EwsGet::GetItem')); +} \ No newline at end of file diff --git a/samples/inbox/FindItems.php b/samples/inbox/FindItems.php new file mode 100644 index 0000000..a1372a5 --- /dev/null +++ b/samples/inbox/FindItems.php @@ -0,0 +1,99 @@ + __DIR__ . '/../../wsdl/services.updated.wsdl', + AbstractSoapClientBase::WSDL_CLASSMAP => EwsClassMap::get(), + AbstractSoapClientBase::WSDL_LOGIN => EWS_WS_LOGIN, + AbstractSoapClientBase::WSDL_PASSWORD => EWS_WS_PASSWORD, +); + +/** + * Instanciation of the ServiceType get that gather all the operations beginnig with "get". + */ +$find = new \Ews\ServiceType\EwsFind($options); +$find->setLocation('https://pod51036.outlook.com/ews/Exchange.asmx'); +/** + * Configure the SoapHeader, each header's method begins with "setSoapHeader". + */ +$find->setSoapHeaderRequestServerVersion(new EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); +/** + * Send the request + */ +$itemType = new EwsFindItemType(); +$itemShape = new EwsItemResponseShapeType(EwsDefaultShapeNamesType::VALUE_ALL_PROPERTIES); +$itemType + ->setItemShape($itemShape) + ->setParentFolderIds(new EwsNonEmptyArrayOfBaseFolderIdsType(null, new EwsDistinguishedFolderIdType(EwsDistinguishedFolderIdNameType::VALUE_INBOX))) + ->setTraversal(EwsItemQueryTraversalType::VALUE_SHALLOW); +$result = $find->FindItem($itemType); + +/** + * Debug informations provided by the utility methods + */ +if (false) { + echo 'XML Request: ' . $find->getLastRequest() . "\r\n"; + echo 'Headers Request: ' . $find->getLastRequestHeaders() . "\r\n"; + echo 'XML Response: ' . $find->getLastResponse() . "\r\n"; + echo 'Headers Response: ' . $find->getLastResponseHeaders() . "\r\n"; +} + +if ($result !== false) { + /** + * Display the Inbox items if there is at least one: + * + * Message from "{name} <{email}>" with subject "{subject}" sent at "2017-02-03T20:51:20Z" + * Message from "{name} <{email}>" with subject "{subject}" sent at "2017-02-02T17:48:25Z" + * ... etc + */ + foreach($result->getResponseMessages()->getFindItemResponseMessage() as $message) { + $messages = $message->getRootFolder()->getItems()->getMessage(); + if (is_array($messages)) { + foreach($messages as $item) { + echo PHP_EOL . sprintf('Message from "%s <%s>" with subject "%s" sent at "%s"', + $item->getFrom()->getMailbox()->getName(), + $item->getFrom()->getMailbox()->getEmailAddress(), + $item->getSubject(), + $item->getDateTimeSent()); + } + } else { + echo PHP_EOL . 'No message found'; + } + echo PHP_EOL; + } +} else { + /** + * In this case, we get the \SoapFault object + */ + print_r($find->getLastErrorForMethod('\Ews\ServiceType\EwsFind::FindItem')); +} \ No newline at end of file diff --git a/samples/inbox/FindUnreadItems.php b/samples/inbox/FindUnreadItems.php new file mode 100644 index 0000000..a90c3cd --- /dev/null +++ b/samples/inbox/FindUnreadItems.php @@ -0,0 +1,113 @@ + __DIR__ . '/../wsdl/services.updated.wsdl', + AbstractSoapClientBase::WSDL_CLASSMAP => EwsClassMap::get(), + AbstractSoapClientBase::WSDL_LOGIN => EWS_WS_LOGIN, + AbstractSoapClientBase::WSDL_PASSWORD => EWS_WS_PASSWORD, + AbstractSoapClientBase::WSDL_CACHE_WSDL => WSDL_CACHE_NONE, +); + +/** + * Instanciation of the ServiceType get that gather all the operations beginnig with "get". + */ +$find = new \Ews\ServiceType\EwsFind($options); +$find->setLocation('https://pod51036.outlook.com/ews/Exchange.asmx'); +/** + * Configure the SoapHeader, each header's method begins with "setSoapHeader". + */ +$find->setSoapHeaderRequestServerVersion(new EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); +/** + * Send the request + */ +$itemType = new EwsFindItemType(); +$itemShape = new EwsItemResponseShapeType(EwsDefaultShapeNamesType::VALUE_ALL_PROPERTIES); +$isEqualTo = new EwsIsEqualToType(); +$isEqualTo + ->setFieldURIOrConstant(new EwsFieldURIOrConstantType(new EwsConstantValueType('0'))) + ->setFieldURI(new EwsPathToUnindexedFieldType(EwsUnindexedFieldURIType::VALUE_MESSAGE_IS_READ)); +$restriction = new EwsRestrictionType(); +$restriction->setIsEqualTo($isEqualTo); +$itemType + ->setItemShape($itemShape) + ->setParentFolderIds(new EwsNonEmptyArrayOfBaseFolderIdsType(null, new EwsDistinguishedFolderIdType(EwsDistinguishedFolderIdNameType::VALUE_INBOX))) + ->setTraversal(EwsItemQueryTraversalType::VALUE_SHALLOW) + ->setRestriction($restriction); +$result = $find->FindItem($itemType); + +/** + * Debug informations provided by the utility methods + */ +if (false) { + echo 'XML Request: ' . $find->getLastRequest() . "\r\n"; + echo 'Headers Request: ' . $find->getLastRequestHeaders() . "\r\n"; + echo 'XML Response: ' . $find->getLastResponse() . "\r\n"; + echo 'Headers Response: ' . $find->getLastResponseHeaders() . "\r\n"; +} + +if ($result !== false) { + /** + * Display the Inbox items if there is at least one: + * + * Message from "{name} <{email}>" with subject "{subject}" sent at "2017-02-03T20:51:20Z" + * Message from "{name} <{email}>" with subject "{subject}" sent at "2017-02-02T17:48:25Z" + * ... etc + */ + foreach($result->getResponseMessages()->getFindItemResponseMessage() as $message) { + $messages = $message->getRootFolder()->getItems()->getMessage(); + if (is_array($messages)) { + foreach($messages as $item) { + echo PHP_EOL . sprintf('Message from "%s <%s>" with subject "%s" sent at "%s"', + $item->getFrom()->getMailbox()->getName(), + $item->getFrom()->getMailbox()->getEmailAddress(), + $item->getSubject(), + $item->getDateTimeSent()); + } + } else { + echo PHP_EOL . 'No message found'; + } + echo PHP_EOL; + } +} else { + /** + * In this case, we get the \SoapFault object + */ + print_r($find->getLastErrorForMethod('\Ews\ServiceType\EwsFind::FindItem')); +} \ No newline at end of file diff --git a/samples/inbox/GetItem.php b/samples/inbox/GetItem.php new file mode 100644 index 0000000..22eff70 --- /dev/null +++ b/samples/inbox/GetItem.php @@ -0,0 +1,107 @@ + __DIR__ . '/../../wsdl/services.updated.wsdl', + AbstractSoapClientBase::WSDL_CLASSMAP => EwsClassMap::get(), + AbstractSoapClientBase::WSDL_LOGIN => EWS_WS_LOGIN, + AbstractSoapClientBase::WSDL_PASSWORD => EWS_WS_PASSWORD, +); + +/** + * Instanciation of the ServiceType get that gather all the operations beginnig with "get". + */ +$get = new \Ews\ServiceType\EwsGet($options); +$get->setLocation('https://pod51036.outlook.com/ews/Exchange.asmx'); +/** + * Configure the SoapHeader, each header's method begins with "setSoapHeader". + */ +$get->setSoapHeaderRequestServerVersion(new EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); +/** + * Send the request with your actual ID + * inbox item id : AQMkADdmZTc2Y2EwLWM4QtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAD4a54IMUm0UC0Oie/nN4R4AcAHM3Rq81r8UGBMGXZ2QDPNOoAAAIBDAAAADSezQdp0a5Anuxdk9hQzRAAAAIFUQAAAA== + * calendar item id : AAMkADdmZTc2Y2EwL4YmQtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAENAAA0ns0HadGuQJ7sXZPYUM0QAAAVnj3eAAA= + * taks item id : AAMkADdmZTc2Y2EwLWM4YtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAESAAA0ns0HadGuQJ7sXZPYUM0QAAAVnkW1AAA= + * contac titme id : AAMkADdmZTc2Y2EwLWYmQtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAEOAAA0ns0HadGuQJ7sXZPYUM0QAAAVnjYCAAA= + */ +$itemType = new EwsGetItemType(); +$shapeType = new EwsItemResponseShapeType(); +$shapeType + ->setBaseShape(EwsDefaultShapeNamesType::VALUE_ALL_PROPERTIES) + ->setBodyType(EwsBodyTypeResponseType::VALUE_BEST); +$itemType + ->setItemShape($shapeType) + ->setItemIds( + new EwsNonEmptyArrayOfBaseItemIdsType( + new EwsItemIdType('******************************************************************************************************************************************************') + ) + ); +$result = $get->GetItem($itemType); + +/** + * Debug informations provided by the utility methods + */ +if (false) { + echo 'XML Request: ' . $get->getLastRequest() . "\r\n"; + echo 'Headers Request: ' . $get->getLastRequestHeaders() . "\r\n"; + echo 'XML Response: ' . $get->getLastResponse() . "\r\n"; + echo 'Headers Response: ' . $get->getLastResponseHeaders() . "\r\n"; +} + +if ($result !== false) { + /** + * Display the item data depending on its type: + */ + foreach($result->getResponseMessages()->getGetItemResponseMessage() as $message) { + /** + * In case of a Contact Item + */ + if (is_array($message->getItems()->getContact())) { + foreach($message->getItems()->getContact() as $item) { + if ($item instanceof EwsContactItemType) { + $addresses = $item->getEmailAddresses()->getEntry(); + echo PHP_EOL . sprintf('Contact "%s %s <%s>"', + $item->getCompleteName()->getFirstName(), + $item->getCompleteName()->getLastName(), + is_array($addresses) ? array_shift($addresses)->get_() : ''); + } + } + } + echo PHP_EOL; + } +} else { + /** + * In this case, we get the \SoapFault object + */ + print_r($get->getLastErrorForMethod('\Ews\ServiceType\EwsGet::GetItem')); +} \ No newline at end of file diff --git a/samples/task/CreateItem.php b/samples/task/CreateItem.php new file mode 100644 index 0000000..1d4e27d --- /dev/null +++ b/samples/task/CreateItem.php @@ -0,0 +1,96 @@ + __DIR__ . '/../wsdl/services.wsdl', + AbstractSoapClientBase::WSDL_CLASSMAP => EwsClassMap::get(), + AbstractSoapClientBase::WSDL_LOGIN => EWS_WS_LOGIN, + AbstractSoapClientBase::WSDL_PASSWORD => EWS_WS_PASSWORD +); +/** + * Instanciation of the ServiceType get that gather all the operations beginnig with "get". + */ +$create = new \Ews\ServiceType\EwsCreate($options); +$create->setLocation('https://pod51036.outlook.com/ews/Exchange.asmx'); +/** + * Configure the SoapHeader, each header's method begins with "setSoapHeader". + */ +$create->setSoapHeaderRequestServerVersion(new EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); +/** + * Send the request, you can customize the request by modifiying the new \Ews\StructType\EwsGetServerTimeZonesType() instance + */ +$items = new EwsNonEmptyArrayOfAllItemsType(); +$task = new EwsTaskType(); +$dueDate = new \DateTime('today + 5 day'); +$task->setDueDate($dueDate->format('Y-m-d\TH:i:s\Z')) + ->setBody(new EwsBodyType(EwsBodyTypeType::VALUE_TEXT, 'This task is very important, please do it as soon as possible')) + ->setSubject('Sample task created with EWS') + ->setReminderDueBy($dueDate->sub(new \DateInterval('PT1H')) + ->format('Y-m-d\TH:i:s\Z')) + ->setReminderIsSet(true); +$items->setTask($task); +$itemType = new EwsCreateItemType(new EwsTargetFolderIdType(null, new EwsDistinguishedFolderIdType(EwsDistinguishedFolderIdNameType::VALUE_TASKS)), $items); +$result = $create->CreateItem($itemType); +/** + * Debug informations provided by the utility methods + */ +if (true) { + echo 'XML Request: ' . $create->getLastRequest() . "\r\n"; + echo 'Headers Request: ' . $create->getLastRequestHeaders() . "\r\n"; + echo 'XML Response: ' . $create->getLastResponse() . "\r\n"; + echo 'Headers Response: ' . $create->getLastResponseHeaders() . "\r\n"; +} +/** + * Sample call for CreateItem operation/method + */ +if ($result !== false) { + /** + * Display the message + */ + foreach ($result->getResponseMessages()->getCreateItemResponseMessage() as $message) { + $responseCode = $message->getResponseCode(); + echo PHP_EOL . sprintf('Response code: %s', $responseCode); + $itemsCreated = $message->getItems()->getTask(); + if (is_array($itemsCreated)) { + foreach ($itemsCreated as $itemCreated) { + echo PHP_EOL . sprintf('Task created with id %s', $itemCreated->getItemId()->getId()); + } + } else { + echo PHP_EOL . 'No message found'; + } + echo PHP_EOL; + } +} else { + /** + * In this case, we get the \SoapFault object + */ + print_r($create->getLastErrorForMethod('\Ews\ServiceType\EwsCreate::CreateItem')); +} \ No newline at end of file diff --git a/samples/task/FindItems.php b/samples/task/FindItems.php new file mode 100644 index 0000000..875d485 --- /dev/null +++ b/samples/task/FindItems.php @@ -0,0 +1,98 @@ + __DIR__ . '/../../wsdl/services.updated.wsdl', + AbstractSoapClientBase::WSDL_CLASSMAP => EwsClassMap::get(), + AbstractSoapClientBase::WSDL_LOGIN => EWS_WS_LOGIN, + AbstractSoapClientBase::WSDL_PASSWORD => EWS_WS_PASSWORD, +); + +/** + * Instanciation of the ServiceType get that gather all the operations beginnig with "get". + */ +$find = new \Ews\ServiceType\EwsFind($options); +$find->setLocation('https://pod51036.outlook.com/ews/Exchange.asmx'); +/** + * Configure the SoapHeader, each header's method begins with "setSoapHeader". + */ +$find->setSoapHeaderRequestServerVersion(new EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); +/** + * Send the request + */ +$itemType = new EwsFindItemType(); +$itemShape = new EwsItemResponseShapeType(EwsDefaultShapeNamesType::VALUE_ALL_PROPERTIES); +$itemType + ->setItemShape($itemShape) + ->setParentFolderIds(new EwsNonEmptyArrayOfBaseFolderIdsType(null, new EwsDistinguishedFolderIdType(EwsDistinguishedFolderIdNameType::VALUE_TASKS))) + ->setTraversal(EwsItemQueryTraversalType::VALUE_SHALLOW); +$result = $find->FindItem($itemType); + +/** + * Debug informations provided by the utility methods + */ +if (false) { + echo 'XML Request: ' . $find->getLastRequest() . "\r\n"; + echo 'Headers Request: ' . $find->getLastRequestHeaders() . "\r\n"; + echo 'XML Response: ' . $find->getLastResponse() . "\r\n"; + echo 'Headers Response: ' . $find->getLastResponseHeaders() . "\r\n"; +} + +if ($result !== false) { + /** + * Display the Tasks items if there is at least one: + * + * Task with subject "******************" that must be done at "2017-03-15T06:00:00Z" is "NotStarted" + * Task with subject "******************" that must be done at "2017-03-15T06:00:00Z" is "NotStarted" + * ... etc + */ + foreach($result->getResponseMessages()->getFindItemResponseMessage() as $message) { + $tasks = $message->getRootFolder()->getItems()->getTask(); + if(is_array($tasks)) { + foreach($tasks as $item) { + echo PHP_EOL . sprintf('Task with subject "%s" that must be done at "%s" is "%s"', + $item->getSubject(), + $item->getDueDate(), + $item->getStatus()); + } + } else { + echo PHP_EOL . 'No task found'; + } + echo PHP_EOL; + } +} else { + /** + * In this case, we get the \SoapFault object + */ + print_r($find->getLastErrorForMethod('\Ews\ServiceType\EwsFind::FindItem')); +} \ No newline at end of file diff --git a/samples/task/GetItem.php b/samples/task/GetItem.php new file mode 100644 index 0000000..baf35de --- /dev/null +++ b/samples/task/GetItem.php @@ -0,0 +1,106 @@ + __DIR__ . '/../../wsdl/services.updated.wsdl', + AbstractSoapClientBase::WSDL_CLASSMAP => EwsClassMap::get(), + AbstractSoapClientBase::WSDL_LOGIN => EWS_WS_LOGIN, + AbstractSoapClientBase::WSDL_PASSWORD => EWS_WS_PASSWORD, +); + +/** + * Instanciation of the ServiceType get that gather all the operations beginnig with "get". + */ +$get = new \Ews\ServiceType\EwsGet($options); +$get->setLocation('https://pod51036.outlook.com/ews/Exchange.asmx'); +/** + * Configure the SoapHeader, each header's method begins with "setSoapHeader". + */ +$get->setSoapHeaderRequestServerVersion(new EwsRequestServerVersion(EwsExchangeVersionType::VALUE_EXCHANGE_2013_SP_1)); +/** + * Send the request with your actual ID + * inbox item id : AQMkADdmZTc2Y2EwLWM4QtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAD4a54IMUm0UC0Oie/nN4R4AcAHM3Rq81r8UGBMGXZ2QDPNOoAAAIBDAAAADSezQdp0a5Anuxdk9hQzRAAAAIFUQAAAA== + * calendar item id : AAMkADdmZTc2Y2EwL4YmQtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAENAAA0ns0HadGuQJ7sXZPYUM0QAAAVnj3eAAA= + * taks item id : AAMkADdmZTc2Y2EwLWM4YtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAESAAA0ns0HadGuQJ7sXZPYUM0QAAAVnkW1AAA= + * contac titme id : AAMkADdmZTc2Y2EwLWYmQtNGNkYi1iOTZhLTI4ZTIzNjEwZGIzZgBGAAAAAADhrnggxSbRQLQ6J7+c3hHgBwAczdGrzWvxQYEwZdnZzzTqAAAAAAEOAAA0ns0HadGuQJ7sXZPYUM0QAAAVnjYCAAA= + */ +$itemType = new EwsGetItemType(); +$shapeType = new EwsItemResponseShapeType(); +$shapeType + ->setBaseShape(EwsDefaultShapeNamesType::VALUE_ALL_PROPERTIES) + ->setBodyType(EwsBodyTypeResponseType::VALUE_BEST); +$itemType + ->setItemShape($shapeType) + ->setItemIds( + new EwsNonEmptyArrayOfBaseItemIdsType( + new EwsItemIdType('******************************************************************************************************************************************************') + ) + ); +$result = $get->GetItem($itemType); + +/** + * Debug informations provided by the utility methods + */ +if (false) { + echo 'XML Request: ' . $get->getLastRequest() . "\r\n"; + echo 'Headers Request: ' . $get->getLastRequestHeaders() . "\r\n"; + echo 'XML Response: ' . $get->getLastResponse() . "\r\n"; + echo 'Headers Response: ' . $get->getLastResponseHeaders() . "\r\n"; +} + +if ($result !== false) { + /** + * Display the item data depending on its type: + */ + foreach($result->getResponseMessages()->getGetItemResponseMessage() as $message) { + /** + * In case of a Task Item + */ + if (is_array($message->getItems()->getTask())) { + foreach($message->getItems()->getTask() as $item) { + if ($item instanceof EwsTaskType) { + echo PHP_EOL . sprintf('Task with subject "%s" that must be done at "%s" is "%s"', + $item->getSubject(), + $item->getDueDate(), + $item->getStatus()); + } + } + } + echo PHP_EOL; + } +} else { + /** + * In this case, we get the \SoapFault object + */ + print_r($get->getLastErrorForMethod('\Ews\ServiceType\EwsGet::GetItem')); +} \ No newline at end of file diff --git a/src/ArrayType/EwsArrayOfSenderAddInsType.php b/src/ArrayType/EwsArrayOfSenderAddInsType.php index ab852fc..af517d6 100644 --- a/src/ArrayType/EwsArrayOfSenderAddInsType.php +++ b/src/ArrayType/EwsArrayOfSenderAddInsType.php @@ -14,6 +14,10 @@ class EwsArrayOfSenderAddInsType extends AbstractStructArrayBase { /** * The Microsoft_OutlookServices_SenderApp + * Meta informations extracted from the WSDL + * - maxOccurs: unbounded + * - minOccurs: 0 + * @var \Ews\StructType\EwsSenderAddInEntityType[] */ public $Microsoft_OutlookServices_SenderApp; /** @@ -27,16 +31,17 @@ public function __construct(array $microsoft_OutlookServices_SenderApp = array() ->setMicrosoft_OutlookServices_SenderApp($microsoft_OutlookServices_SenderApp); } /** - * Get microsoft_OutlookServices_SenderApp value - * @return microsoft_OutlookServices_SenderApp + * Get Microsoft_OutlookServices_SenderApp value + * @return \Ews\StructType\EwsSenderAddInEntityType[]|null */ public function getMicrosoft_OutlookServices_SenderApp() { return $this->{'Microsoft.OutlookServices.SenderApp'}; } /** - * Set microsoft_OutlookServices_SenderApp value - * @param microsoft_OutlookServices_SenderApp $microsoft_OutlookServices_SenderApp + * Set Microsoft_OutlookServices_SenderApp value + * @throws \InvalidArgumentException + * @param \Ews\StructType\EwsSenderAddInEntityType[] $microsoft_OutlookServices_SenderApp * @return \Ews\ArrayType\EwsArrayOfSenderAddInsType */ public function setMicrosoft_OutlookServices_SenderApp(array $microsoft_OutlookServices_SenderApp = array()) diff --git a/src/ArrayType/EwsNonEmptyArrayOfPathsToElementType.php b/src/ArrayType/EwsNonEmptyArrayOfPathsToElementType.php deleted file mode 100644 index 4f056b4..0000000 --- a/src/ArrayType/EwsNonEmptyArrayOfPathsToElementType.php +++ /dev/null @@ -1,126 +0,0 @@ - - */ -class EwsNonEmptyArrayOfPathsToElementType extends AbstractStructArrayBase -{ - /** - * The Path - * Meta informations extracted from the WSDL - * - ref: t:Path - * @var \Ews\StructType\EwsBasePathToElementType - */ - public $Path; - /** - * Constructor method for NonEmptyArrayOfPathsToElementType - * @uses EwsNonEmptyArrayOfPathsToElementType::setPath() - * @param \Ews\StructType\EwsBasePathToElementType $path - */ - public function __construct(\Ews\StructType\EwsBasePathToElementType $path = null) - { - $this - ->setPath($path); - } - /** - * Get Path value - * @return \Ews\StructType\EwsBasePathToElementType|null - */ - public function getPath() - { - return $this->Path; - } - /** - * Set Path value - * @param \Ews\StructType\EwsBasePathToElementType $path - * @return \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType - */ - public function setPath(\Ews\StructType\EwsBasePathToElementType $path = null) - { - $this->Path = $path; - return $this; - } - /** - * Returns the current element - * @see AbstractStructArrayBase::current() - * @return \Ews\StructType\EwsBasePathToElementType|null - */ - public function current() - { - return parent::current(); - } - /** - * Returns the indexed element - * @see AbstractStructArrayBase::item() - * @param int $index - * @return \Ews\StructType\EwsBasePathToElementType|null - */ - public function item($index) - { - return parent::item($index); - } - /** - * Returns the first element - * @see AbstractStructArrayBase::first() - * @return \Ews\StructType\EwsBasePathToElementType|null - */ - public function first() - { - return parent::first(); - } - /** - * Returns the last element - * @see AbstractStructArrayBase::last() - * @return \Ews\StructType\EwsBasePathToElementType|null - */ - public function last() - { - return parent::last(); - } - /** - * Returns the element at the offset - * @see AbstractStructArrayBase::offsetGet() - * @param int $offset - * @return \Ews\StructType\EwsBasePathToElementType|null - */ - public function offsetGet($offset) - { - return parent::offsetGet($offset); - } - /** - * Returns the attribute name - * @see AbstractStructArrayBase::getAttributeName() - * @return string Path - */ - public function getAttributeName() - { - return 'Path'; - } - /** - * Method called when an object has been exported with var_export() functions - * It allows to return an object instantiated with the values - * @see AbstractStructArrayBase::__set_state() - * @uses AbstractStructArrayBase::__set_state() - * @param array $array the exported values - * @return \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType - */ - public static function __set_state(array $array) - { - return parent::__set_state($array); - } - /** - * Method returning the class name - * @return string __CLASS__ - */ - public function __toString() - { - return __CLASS__; - } -} diff --git a/src/EwsClassMap.php b/src/EwsClassMap.php index 010253e..443ba4e 100644 --- a/src/EwsClassMap.php +++ b/src/EwsClassMap.php @@ -64,7 +64,7 @@ final public static function get() 'PathToIndexedFieldType' => '\\Ews\\StructType\\EwsPathToIndexedFieldType', 'PathToExceptionFieldType' => '\\Ews\\StructType\\EwsPathToExceptionFieldType', 'PathToExtendedFieldType' => '\\Ews\\StructType\\EwsPathToExtendedFieldType', - 'NonEmptyArrayOfPathsToElementType' => '\\Ews\\ArrayType\\EwsNonEmptyArrayOfPathsToElementType', + 'NonEmptyArrayOfPathsToElementType' => '\\Ews\\StructType\\EwsNonEmptyArrayOfPathsToElementType', 'NonEmptyArrayOfPropertyValuesType' => '\\Ews\\ArrayType\\EwsNonEmptyArrayOfPropertyValuesType', 'NonEmptyArrayOfExtendedPropertyType' => '\\Ews\\ArrayType\\EwsNonEmptyArrayOfExtendedPropertyType', 'ExtendedPropertyType' => '\\Ews\\StructType\\EwsExtendedPropertyType', diff --git a/src/StructType/EwsArrayOfTransitionsType.php b/src/StructType/EwsArrayOfTransitionsType.php index 14a881f..aa76d30 100644 --- a/src/StructType/EwsArrayOfTransitionsType.php +++ b/src/StructType/EwsArrayOfTransitionsType.php @@ -13,13 +13,20 @@ class EwsArrayOfTransitionsType extends AbstractStructBase { /** - * The Transition - * Meta informations extracted from the WSDL - * - maxOccurs: unbounded - * - ref: t:Transition - * @var \Ews\StructType\EwsTransitionType[] + * The AbsoluteDateTransition + * @var \Ews\StructType\EwsAbsoluteDateTransitionType */ - public $Transition; + public $AbsoluteDateTransition; + /** + * The RecurringDayTransition + * @var \Ews\StructType\EwsRecurringDayTransitionType + */ + public $RecurringDayTransition; + /** + * The RecurringDateTransition + * @var \Ews\StructType\EwsRecurringDateTransitionType + */ + public $RecurringDateTransition; /** * The Id * @var string @@ -27,55 +34,75 @@ class EwsArrayOfTransitionsType extends AbstractStructBase public $Id; /** * Constructor method for ArrayOfTransitionsType - * @uses EwsArrayOfTransitionsType::setTransition() + * @uses EwsArrayOfTransitionsType::setAbsoluteDateTransition() + * @uses EwsArrayOfTransitionsType::setRecurringDayTransition() + * @uses EwsArrayOfTransitionsType::setRecurringDateTransition() * @uses EwsArrayOfTransitionsType::setId() - * @param \Ews\StructType\EwsTransitionType[] $transition + * @param \Ews\StructType\EwsAbsoluteDateTransitionType $absoluteDateTransition + * @param \Ews\StructType\EwsRecurringDayTransitionType $recurringDayTransition + * @param \Ews\StructType\EwsRecurringDateTransitionType $recurringDateTransition * @param string $id */ - public function __construct(array $transition = array(), $id = null) + public function __construct(\Ews\StructType\EwsAbsoluteDateTransitionType $absoluteDateTransition = null, \Ews\StructType\EwsRecurringDayTransitionType $recurringDayTransition = null, \Ews\StructType\EwsRecurringDateTransitionType $recurringDateTransition = null, $id = null) { $this - ->setTransition($transition) + ->setAbsoluteDateTransition($absoluteDateTransition) + ->setRecurringDayTransition($recurringDayTransition) + ->setRecurringDateTransition($recurringDateTransition) ->setId($id); } /** - * Get Transition value - * @return \Ews\StructType\EwsTransitionType[]|null + * Get AbsoluteDateTransition value + * @return \Ews\StructType\EwsAbsoluteDateTransitionType|null */ - public function getTransition() + public function getAbsoluteDateTransition() { - return $this->Transition; + return $this->AbsoluteDateTransition; } /** - * Set Transition value - * @throws \InvalidArgumentException - * @param \Ews\StructType\EwsTransitionType[] $transition + * Set AbsoluteDateTransition value + * @param \Ews\StructType\EwsAbsoluteDateTransitionType $absoluteDateTransition * @return \Ews\StructType\EwsArrayOfTransitionsType */ - public function setTransition(array $transition = array()) + public function setAbsoluteDateTransition(\Ews\StructType\EwsAbsoluteDateTransitionType $absoluteDateTransition = null) { - foreach ($transition as $arrayOfTransitionsTypeTransitionItem) { - // validation for constraint: itemType - if (!$arrayOfTransitionsTypeTransitionItem instanceof \Ews\StructType\EwsTransitionType) { - throw new \InvalidArgumentException(sprintf('The Transition property can only contain items of \Ews\StructType\EwsTransitionType, "%s" given', is_object($arrayOfTransitionsTypeTransitionItem) ? get_class($arrayOfTransitionsTypeTransitionItem) : gettype($arrayOfTransitionsTypeTransitionItem)), __LINE__); - } - } - $this->Transition = $transition; + $this->AbsoluteDateTransition = $absoluteDateTransition; return $this; } /** - * Add item to Transition value - * @throws \InvalidArgumentException - * @param \Ews\StructType\EwsTransitionType $item + * Get RecurringDayTransition value + * @return \Ews\StructType\EwsRecurringDayTransitionType|null + */ + public function getRecurringDayTransition() + { + return $this->RecurringDayTransition; + } + /** + * Set RecurringDayTransition value + * @param \Ews\StructType\EwsRecurringDayTransitionType $recurringDayTransition * @return \Ews\StructType\EwsArrayOfTransitionsType */ - public function addToTransition(\Ews\StructType\EwsTransitionType $item) + public function setRecurringDayTransition(\Ews\StructType\EwsRecurringDayTransitionType $recurringDayTransition = null) { - // validation for constraint: itemType - if (!$item instanceof \Ews\StructType\EwsTransitionType) { - throw new \InvalidArgumentException(sprintf('The Transition property can only contain items of \Ews\StructType\EwsTransitionType, "%s" given', is_object($item) ? get_class($item) : gettype($item)), __LINE__); - } - $this->Transition[] = $item; + $this->RecurringDayTransition = $recurringDayTransition; + return $this; + } + /** + * Get RecurringDateTransition value + * @return \Ews\StructType\EwsRecurringDateTransitionType|null + */ + public function getRecurringDateTransition() + { + return $this->RecurringDateTransition; + } + /** + * Set RecurringDateTransition value + * @param \Ews\StructType\EwsRecurringDateTransitionType $recurringDateTransition + * @return \Ews\StructType\EwsArrayOfTransitionsType + */ + public function setRecurringDateTransition(\Ews\StructType\EwsRecurringDateTransitionType $recurringDateTransition = null) + { + $this->RecurringDateTransition = $recurringDateTransition; return $this; } /** diff --git a/src/StructType/EwsAttachmentResponseShapeType.php b/src/StructType/EwsAttachmentResponseShapeType.php index e8dda94..b4d1890 100644 --- a/src/StructType/EwsAttachmentResponseShapeType.php +++ b/src/StructType/EwsAttachmentResponseShapeType.php @@ -38,7 +38,7 @@ class EwsAttachmentResponseShapeType extends AbstractStructBase * The AdditionalProperties * Meta informations extracted from the WSDL * - minOccurs: 0 - * @var \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType + * @var \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType */ public $AdditionalProperties; /** @@ -50,9 +50,9 @@ class EwsAttachmentResponseShapeType extends AbstractStructBase * @param bool $includeMimeContent * @param string $bodyType * @param bool $filterHtmlContent - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties */ - public function __construct($includeMimeContent = null, $bodyType = null, $filterHtmlContent = null, \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function __construct($includeMimeContent = null, $bodyType = null, $filterHtmlContent = null, \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this ->setIncludeMimeContent($includeMimeContent) @@ -123,7 +123,7 @@ public function setFilterHtmlContent($filterHtmlContent = null) } /** * Get AdditionalProperties value - * @return \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType|null + * @return \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType|null */ public function getAdditionalProperties() { @@ -131,10 +131,10 @@ public function getAdditionalProperties() } /** * Set AdditionalProperties value - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties * @return \Ews\StructType\EwsAttachmentResponseShapeType */ - public function setAdditionalProperties(\Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function setAdditionalProperties(\Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this->AdditionalProperties = $additionalProperties; return $this; diff --git a/src/StructType/EwsChangeDescriptionType.php b/src/StructType/EwsChangeDescriptionType.php index 76ea6c2..2851724 100644 --- a/src/StructType/EwsChangeDescriptionType.php +++ b/src/StructType/EwsChangeDescriptionType.php @@ -13,38 +13,88 @@ abstract class EwsChangeDescriptionType extends AbstractStructBase { /** - * The Path - * Meta informations extracted from the WSDL - * - ref: t:Path - * @var \Ews\StructType\EwsBasePathToElementType + * The FieldURI + * @var \Ews\StructType\EwsPathToUnindexedFieldType */ - public $Path; + public $FieldURI; + /** + * The IndexedFieldURI + * @var \Ews\StructType\EwsPathToIndexedFieldType + */ + public $IndexedFieldURI; + /** + * The ExtendedFieldURI + * @var \Ews\StructType\EwsPathToExtendedFieldType + */ + public $ExtendedFieldURI; /** * Constructor method for ChangeDescriptionType - * @uses EwsChangeDescriptionType::setPath() - * @param \Ews\StructType\EwsBasePathToElementType $path + * @uses EwsChangeDescriptionType::setFieldURI() + * @uses EwsChangeDescriptionType::setIndexedFieldURI() + * @uses EwsChangeDescriptionType::setExtendedFieldURI() + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI */ - public function __construct(\Ews\StructType\EwsBasePathToElementType $path = null) + public function __construct(\Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null, \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null, \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) { $this - ->setPath($path); + ->setFieldURI($fieldURI) + ->setIndexedFieldURI($indexedFieldURI) + ->setExtendedFieldURI($extendedFieldURI); + } + /** + * Get FieldURI value + * @return \Ews\StructType\EwsPathToUnindexedFieldType|null + */ + public function getFieldURI() + { + return $this->FieldURI; + } + /** + * Set FieldURI value + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @return \Ews\StructType\EwsChangeDescriptionType + */ + public function setFieldURI(\Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null) + { + $this->FieldURI = $fieldURI; + return $this; + } + /** + * Get IndexedFieldURI value + * @return \Ews\StructType\EwsPathToIndexedFieldType|null + */ + public function getIndexedFieldURI() + { + return $this->IndexedFieldURI; + } + /** + * Set IndexedFieldURI value + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @return \Ews\StructType\EwsChangeDescriptionType + */ + public function setIndexedFieldURI(\Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null) + { + $this->IndexedFieldURI = $indexedFieldURI; + return $this; } /** - * Get Path value - * @return \Ews\StructType\EwsBasePathToElementType|null + * Get ExtendedFieldURI value + * @return \Ews\StructType\EwsPathToExtendedFieldType|null */ - public function getPath() + public function getExtendedFieldURI() { - return $this->Path; + return $this->ExtendedFieldURI; } /** - * Set Path value - * @param \Ews\StructType\EwsBasePathToElementType $path + * Set ExtendedFieldURI value + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI * @return \Ews\StructType\EwsChangeDescriptionType */ - public function setPath(\Ews\StructType\EwsBasePathToElementType $path = null) + public function setExtendedFieldURI(\Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) { - $this->Path = $path; + $this->ExtendedFieldURI = $extendedFieldURI; return $this; } /** diff --git a/src/StructType/EwsContainsExpressionType.php b/src/StructType/EwsContainsExpressionType.php index 44fb355..1d2a533 100644 --- a/src/StructType/EwsContainsExpressionType.php +++ b/src/StructType/EwsContainsExpressionType.php @@ -12,18 +12,26 @@ */ class EwsContainsExpressionType extends EwsSearchExpressionType { - /** - * The Path - * Meta informations extracted from the WSDL - * - ref: t:Path - * @var \Ews\StructType\EwsBasePathToElementType - */ - public $Path; /** * The Constant * @var \Ews\StructType\EwsConstantValueType */ public $Constant; + /** + * The FieldURI + * @var \Ews\StructType\EwsPathToUnindexedFieldType + */ + public $FieldURI; + /** + * The IndexedFieldURI + * @var \Ews\StructType\EwsPathToIndexedFieldType + */ + public $IndexedFieldURI; + /** + * The ExtendedFieldURI + * @var \Ews\StructType\EwsPathToExtendedFieldType + */ + public $ExtendedFieldURI; /** * The ContainmentMode * Meta informations extracted from the WSDL @@ -40,57 +48,99 @@ class EwsContainsExpressionType extends EwsSearchExpressionType public $ContainmentComparison; /** * Constructor method for ContainsExpressionType - * @uses EwsContainsExpressionType::setPath() * @uses EwsContainsExpressionType::setConstant() + * @uses EwsContainsExpressionType::setFieldURI() + * @uses EwsContainsExpressionType::setIndexedFieldURI() + * @uses EwsContainsExpressionType::setExtendedFieldURI() * @uses EwsContainsExpressionType::setContainmentMode() * @uses EwsContainsExpressionType::setContainmentComparison() - * @param \Ews\StructType\EwsBasePathToElementType $path * @param \Ews\StructType\EwsConstantValueType $constant + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI * @param string $containmentMode * @param string $containmentComparison */ - public function __construct(\Ews\StructType\EwsBasePathToElementType $path = null, \Ews\StructType\EwsConstantValueType $constant = null, $containmentMode = null, $containmentComparison = null) + public function __construct(\Ews\StructType\EwsConstantValueType $constant = null, \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null, \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null, \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null, $containmentMode = null, $containmentComparison = null) { $this - ->setPath($path) ->setConstant($constant) + ->setFieldURI($fieldURI) + ->setIndexedFieldURI($indexedFieldURI) + ->setExtendedFieldURI($extendedFieldURI) ->setContainmentMode($containmentMode) ->setContainmentComparison($containmentComparison); } /** - * Get Path value - * @return \Ews\StructType\EwsBasePathToElementType|null + * Get Constant value + * @return \Ews\StructType\EwsConstantValueType|null */ - public function getPath() + public function getConstant() { - return $this->Path; + return $this->Constant; } /** - * Set Path value - * @param \Ews\StructType\EwsBasePathToElementType $path + * Set Constant value + * @param \Ews\StructType\EwsConstantValueType $constant * @return \Ews\StructType\EwsContainsExpressionType */ - public function setPath(\Ews\StructType\EwsBasePathToElementType $path = null) + public function setConstant(\Ews\StructType\EwsConstantValueType $constant = null) { - $this->Path = $path; + $this->Constant = $constant; return $this; } /** - * Get Constant value - * @return \Ews\StructType\EwsConstantValueType|null + * Get FieldURI value + * @return \Ews\StructType\EwsPathToUnindexedFieldType|null */ - public function getConstant() + public function getFieldURI() { - return $this->Constant; + return $this->FieldURI; } /** - * Set Constant value - * @param \Ews\StructType\EwsConstantValueType $constant + * Set FieldURI value + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI * @return \Ews\StructType\EwsContainsExpressionType */ - public function setConstant(\Ews\StructType\EwsConstantValueType $constant = null) + public function setFieldURI(\Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null) { - $this->Constant = $constant; + $this->FieldURI = $fieldURI; + return $this; + } + /** + * Get IndexedFieldURI value + * @return \Ews\StructType\EwsPathToIndexedFieldType|null + */ + public function getIndexedFieldURI() + { + return $this->IndexedFieldURI; + } + /** + * Set IndexedFieldURI value + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @return \Ews\StructType\EwsContainsExpressionType + */ + public function setIndexedFieldURI(\Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null) + { + $this->IndexedFieldURI = $indexedFieldURI; + return $this; + } + /** + * Get ExtendedFieldURI value + * @return \Ews\StructType\EwsPathToExtendedFieldType|null + */ + public function getExtendedFieldURI() + { + return $this->ExtendedFieldURI; + } + /** + * Set ExtendedFieldURI value + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI + * @return \Ews\StructType\EwsContainsExpressionType + */ + public function setExtendedFieldURI(\Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) + { + $this->ExtendedFieldURI = $extendedFieldURI; return $this; } /** diff --git a/src/StructType/EwsConversationResponseShapeType.php b/src/StructType/EwsConversationResponseShapeType.php index 30752ea..eb2f185 100644 --- a/src/StructType/EwsConversationResponseShapeType.php +++ b/src/StructType/EwsConversationResponseShapeType.php @@ -21,7 +21,7 @@ class EwsConversationResponseShapeType extends AbstractStructBase * The AdditionalProperties * Meta informations extracted from the WSDL * - minOccurs: 0 - * @var \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType + * @var \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType */ public $AdditionalProperties; /** @@ -29,9 +29,9 @@ class EwsConversationResponseShapeType extends AbstractStructBase * @uses EwsConversationResponseShapeType::setBaseShape() * @uses EwsConversationResponseShapeType::setAdditionalProperties() * @param string $baseShape - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties */ - public function __construct($baseShape = null, \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function __construct($baseShape = null, \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this ->setBaseShape($baseShape) @@ -64,7 +64,7 @@ public function setBaseShape($baseShape = null) } /** * Get AdditionalProperties value - * @return \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType|null + * @return \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType|null */ public function getAdditionalProperties() { @@ -72,10 +72,10 @@ public function getAdditionalProperties() } /** * Set AdditionalProperties value - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties * @return \Ews\StructType\EwsConversationResponseShapeType */ - public function setAdditionalProperties(\Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function setAdditionalProperties(\Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this->AdditionalProperties = $additionalProperties; return $this; diff --git a/src/StructType/EwsExcludesType.php b/src/StructType/EwsExcludesType.php index 34f0984..281aa53 100644 --- a/src/StructType/EwsExcludesType.php +++ b/src/StructType/EwsExcludesType.php @@ -12,65 +12,115 @@ */ class EwsExcludesType extends EwsSearchExpressionType { - /** - * The Path - * Meta informations extracted from the WSDL - * - ref: t:Path - * @var \Ews\StructType\EwsBasePathToElementType - */ - public $Path; /** * The Bitmask * @var \Ews\StructType\EwsExcludesValueType */ public $Bitmask; + /** + * The FieldURI + * @var \Ews\StructType\EwsPathToUnindexedFieldType + */ + public $FieldURI; + /** + * The IndexedFieldURI + * @var \Ews\StructType\EwsPathToIndexedFieldType + */ + public $IndexedFieldURI; + /** + * The ExtendedFieldURI + * @var \Ews\StructType\EwsPathToExtendedFieldType + */ + public $ExtendedFieldURI; /** * Constructor method for ExcludesType - * @uses EwsExcludesType::setPath() * @uses EwsExcludesType::setBitmask() - * @param \Ews\StructType\EwsBasePathToElementType $path + * @uses EwsExcludesType::setFieldURI() + * @uses EwsExcludesType::setIndexedFieldURI() + * @uses EwsExcludesType::setExtendedFieldURI() * @param \Ews\StructType\EwsExcludesValueType $bitmask + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI */ - public function __construct(\Ews\StructType\EwsBasePathToElementType $path = null, \Ews\StructType\EwsExcludesValueType $bitmask = null) + public function __construct(\Ews\StructType\EwsExcludesValueType $bitmask = null, \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null, \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null, \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) { $this - ->setPath($path) - ->setBitmask($bitmask); + ->setBitmask($bitmask) + ->setFieldURI($fieldURI) + ->setIndexedFieldURI($indexedFieldURI) + ->setExtendedFieldURI($extendedFieldURI); } /** - * Get Path value - * @return \Ews\StructType\EwsBasePathToElementType|null + * Get Bitmask value + * @return \Ews\StructType\EwsExcludesValueType|null */ - public function getPath() + public function getBitmask() { - return $this->Path; + return $this->Bitmask; } /** - * Set Path value - * @param \Ews\StructType\EwsBasePathToElementType $path + * Set Bitmask value + * @param \Ews\StructType\EwsExcludesValueType $bitmask * @return \Ews\StructType\EwsExcludesType */ - public function setPath(\Ews\StructType\EwsBasePathToElementType $path = null) + public function setBitmask(\Ews\StructType\EwsExcludesValueType $bitmask = null) { - $this->Path = $path; + $this->Bitmask = $bitmask; return $this; } /** - * Get Bitmask value - * @return \Ews\StructType\EwsExcludesValueType|null + * Get FieldURI value + * @return \Ews\StructType\EwsPathToUnindexedFieldType|null */ - public function getBitmask() + public function getFieldURI() { - return $this->Bitmask; + return $this->FieldURI; } /** - * Set Bitmask value - * @param \Ews\StructType\EwsExcludesValueType $bitmask + * Set FieldURI value + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI * @return \Ews\StructType\EwsExcludesType */ - public function setBitmask(\Ews\StructType\EwsExcludesValueType $bitmask = null) + public function setFieldURI(\Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null) { - $this->Bitmask = $bitmask; + $this->FieldURI = $fieldURI; + return $this; + } + /** + * Get IndexedFieldURI value + * @return \Ews\StructType\EwsPathToIndexedFieldType|null + */ + public function getIndexedFieldURI() + { + return $this->IndexedFieldURI; + } + /** + * Set IndexedFieldURI value + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @return \Ews\StructType\EwsExcludesType + */ + public function setIndexedFieldURI(\Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null) + { + $this->IndexedFieldURI = $indexedFieldURI; + return $this; + } + /** + * Get ExtendedFieldURI value + * @return \Ews\StructType\EwsPathToExtendedFieldType|null + */ + public function getExtendedFieldURI() + { + return $this->ExtendedFieldURI; + } + /** + * Set ExtendedFieldURI value + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI + * @return \Ews\StructType\EwsExcludesType + */ + public function setExtendedFieldURI(\Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) + { + $this->ExtendedFieldURI = $extendedFieldURI; return $this; } /** diff --git a/src/StructType/EwsExistsType.php b/src/StructType/EwsExistsType.php index 1f432f4..53fd35d 100644 --- a/src/StructType/EwsExistsType.php +++ b/src/StructType/EwsExistsType.php @@ -13,38 +13,88 @@ class EwsExistsType extends EwsSearchExpressionType { /** - * The Path - * Meta informations extracted from the WSDL - * - ref: t:Path - * @var \Ews\StructType\EwsBasePathToElementType + * The FieldURI + * @var \Ews\StructType\EwsPathToUnindexedFieldType */ - public $Path; + public $FieldURI; + /** + * The IndexedFieldURI + * @var \Ews\StructType\EwsPathToIndexedFieldType + */ + public $IndexedFieldURI; + /** + * The ExtendedFieldURI + * @var \Ews\StructType\EwsPathToExtendedFieldType + */ + public $ExtendedFieldURI; /** * Constructor method for ExistsType - * @uses EwsExistsType::setPath() - * @param \Ews\StructType\EwsBasePathToElementType $path + * @uses EwsExistsType::setFieldURI() + * @uses EwsExistsType::setIndexedFieldURI() + * @uses EwsExistsType::setExtendedFieldURI() + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI */ - public function __construct(\Ews\StructType\EwsBasePathToElementType $path = null) + public function __construct(\Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null, \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null, \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) { $this - ->setPath($path); + ->setFieldURI($fieldURI) + ->setIndexedFieldURI($indexedFieldURI) + ->setExtendedFieldURI($extendedFieldURI); + } + /** + * Get FieldURI value + * @return \Ews\StructType\EwsPathToUnindexedFieldType|null + */ + public function getFieldURI() + { + return $this->FieldURI; + } + /** + * Set FieldURI value + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @return \Ews\StructType\EwsExistsType + */ + public function setFieldURI(\Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null) + { + $this->FieldURI = $fieldURI; + return $this; + } + /** + * Get IndexedFieldURI value + * @return \Ews\StructType\EwsPathToIndexedFieldType|null + */ + public function getIndexedFieldURI() + { + return $this->IndexedFieldURI; + } + /** + * Set IndexedFieldURI value + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @return \Ews\StructType\EwsExistsType + */ + public function setIndexedFieldURI(\Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null) + { + $this->IndexedFieldURI = $indexedFieldURI; + return $this; } /** - * Get Path value - * @return \Ews\StructType\EwsBasePathToElementType|null + * Get ExtendedFieldURI value + * @return \Ews\StructType\EwsPathToExtendedFieldType|null */ - public function getPath() + public function getExtendedFieldURI() { - return $this->Path; + return $this->ExtendedFieldURI; } /** - * Set Path value - * @param \Ews\StructType\EwsBasePathToElementType $path + * Set ExtendedFieldURI value + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI * @return \Ews\StructType\EwsExistsType */ - public function setPath(\Ews\StructType\EwsBasePathToElementType $path = null) + public function setExtendedFieldURI(\Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) { - $this->Path = $path; + $this->ExtendedFieldURI = $extendedFieldURI; return $this; } /** diff --git a/src/StructType/EwsFieldOrderType.php b/src/StructType/EwsFieldOrderType.php index 0002bb9..18413c1 100644 --- a/src/StructType/EwsFieldOrderType.php +++ b/src/StructType/EwsFieldOrderType.php @@ -20,24 +20,38 @@ class EwsFieldOrderType extends AbstractStructBase */ public $Order; /** - * The Path - * Meta informations extracted from the WSDL - * - ref: t:Path - * @var \Ews\StructType\EwsBasePathToElementType + * The FieldURI + * @var \Ews\StructType\EwsPathToUnindexedFieldType + */ + public $FieldURI; + /** + * The IndexedFieldURI + * @var \Ews\StructType\EwsPathToIndexedFieldType */ - public $Path; + public $IndexedFieldURI; + /** + * The ExtendedFieldURI + * @var \Ews\StructType\EwsPathToExtendedFieldType + */ + public $ExtendedFieldURI; /** * Constructor method for FieldOrderType * @uses EwsFieldOrderType::setOrder() - * @uses EwsFieldOrderType::setPath() + * @uses EwsFieldOrderType::setFieldURI() + * @uses EwsFieldOrderType::setIndexedFieldURI() + * @uses EwsFieldOrderType::setExtendedFieldURI() * @param string $order - * @param \Ews\StructType\EwsBasePathToElementType $path + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI */ - public function __construct($order = null, \Ews\StructType\EwsBasePathToElementType $path = null) + public function __construct($order = null, \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null, \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null, \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) { $this ->setOrder($order) - ->setPath($path); + ->setFieldURI($fieldURI) + ->setIndexedFieldURI($indexedFieldURI) + ->setExtendedFieldURI($extendedFieldURI); } /** * Get Order value @@ -65,21 +79,57 @@ public function setOrder($order = null) return $this; } /** - * Get Path value - * @return \Ews\StructType\EwsBasePathToElementType|null + * Get FieldURI value + * @return \Ews\StructType\EwsPathToUnindexedFieldType|null + */ + public function getFieldURI() + { + return $this->FieldURI; + } + /** + * Set FieldURI value + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @return \Ews\StructType\EwsFieldOrderType + */ + public function setFieldURI(\Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null) + { + $this->FieldURI = $fieldURI; + return $this; + } + /** + * Get IndexedFieldURI value + * @return \Ews\StructType\EwsPathToIndexedFieldType|null + */ + public function getIndexedFieldURI() + { + return $this->IndexedFieldURI; + } + /** + * Set IndexedFieldURI value + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @return \Ews\StructType\EwsFieldOrderType + */ + public function setIndexedFieldURI(\Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null) + { + $this->IndexedFieldURI = $indexedFieldURI; + return $this; + } + /** + * Get ExtendedFieldURI value + * @return \Ews\StructType\EwsPathToExtendedFieldType|null */ - public function getPath() + public function getExtendedFieldURI() { - return $this->Path; + return $this->ExtendedFieldURI; } /** - * Set Path value - * @param \Ews\StructType\EwsBasePathToElementType $path + * Set ExtendedFieldURI value + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI * @return \Ews\StructType\EwsFieldOrderType */ - public function setPath(\Ews\StructType\EwsBasePathToElementType $path = null) + public function setExtendedFieldURI(\Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) { - $this->Path = $path; + $this->ExtendedFieldURI = $extendedFieldURI; return $this; } /** diff --git a/src/StructType/EwsFieldURIOrConstantType.php b/src/StructType/EwsFieldURIOrConstantType.php index 9245009..1256117 100644 --- a/src/StructType/EwsFieldURIOrConstantType.php +++ b/src/StructType/EwsFieldURIOrConstantType.php @@ -12,65 +12,115 @@ */ class EwsFieldURIOrConstantType extends AbstractStructBase { - /** - * The Path - * Meta informations extracted from the WSDL - * - ref: t:Path - * @var \Ews\StructType\EwsBasePathToElementType - */ - public $Path; /** * The Constant * @var \Ews\StructType\EwsConstantValueType */ public $Constant; + /** + * The FieldURI + * @var \Ews\StructType\EwsPathToUnindexedFieldType + */ + public $FieldURI; + /** + * The IndexedFieldURI + * @var \Ews\StructType\EwsPathToIndexedFieldType + */ + public $IndexedFieldURI; + /** + * The ExtendedFieldURI + * @var \Ews\StructType\EwsPathToExtendedFieldType + */ + public $ExtendedFieldURI; /** * Constructor method for FieldURIOrConstantType - * @uses EwsFieldURIOrConstantType::setPath() * @uses EwsFieldURIOrConstantType::setConstant() - * @param \Ews\StructType\EwsBasePathToElementType $path + * @uses EwsFieldURIOrConstantType::setFieldURI() + * @uses EwsFieldURIOrConstantType::setIndexedFieldURI() + * @uses EwsFieldURIOrConstantType::setExtendedFieldURI() * @param \Ews\StructType\EwsConstantValueType $constant + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI */ - public function __construct(\Ews\StructType\EwsBasePathToElementType $path = null, \Ews\StructType\EwsConstantValueType $constant = null) + public function __construct(\Ews\StructType\EwsConstantValueType $constant = null, \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null, \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null, \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) { $this - ->setPath($path) - ->setConstant($constant); + ->setConstant($constant) + ->setFieldURI($fieldURI) + ->setIndexedFieldURI($indexedFieldURI) + ->setExtendedFieldURI($extendedFieldURI); } /** - * Get Path value - * @return \Ews\StructType\EwsBasePathToElementType|null + * Get Constant value + * @return \Ews\StructType\EwsConstantValueType|null */ - public function getPath() + public function getConstant() { - return $this->Path; + return $this->Constant; } /** - * Set Path value - * @param \Ews\StructType\EwsBasePathToElementType $path + * Set Constant value + * @param \Ews\StructType\EwsConstantValueType $constant * @return \Ews\StructType\EwsFieldURIOrConstantType */ - public function setPath(\Ews\StructType\EwsBasePathToElementType $path = null) + public function setConstant(\Ews\StructType\EwsConstantValueType $constant = null) { - $this->Path = $path; + $this->Constant = $constant; return $this; } /** - * Get Constant value - * @return \Ews\StructType\EwsConstantValueType|null + * Get FieldURI value + * @return \Ews\StructType\EwsPathToUnindexedFieldType|null */ - public function getConstant() + public function getFieldURI() { - return $this->Constant; + return $this->FieldURI; } /** - * Set Constant value - * @param \Ews\StructType\EwsConstantValueType $constant + * Set FieldURI value + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI * @return \Ews\StructType\EwsFieldURIOrConstantType */ - public function setConstant(\Ews\StructType\EwsConstantValueType $constant = null) + public function setFieldURI(\Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null) { - $this->Constant = $constant; + $this->FieldURI = $fieldURI; + return $this; + } + /** + * Get IndexedFieldURI value + * @return \Ews\StructType\EwsPathToIndexedFieldType|null + */ + public function getIndexedFieldURI() + { + return $this->IndexedFieldURI; + } + /** + * Set IndexedFieldURI value + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @return \Ews\StructType\EwsFieldURIOrConstantType + */ + public function setIndexedFieldURI(\Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null) + { + $this->IndexedFieldURI = $indexedFieldURI; + return $this; + } + /** + * Get ExtendedFieldURI value + * @return \Ews\StructType\EwsPathToExtendedFieldType|null + */ + public function getExtendedFieldURI() + { + return $this->ExtendedFieldURI; + } + /** + * Set ExtendedFieldURI value + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI + * @return \Ews\StructType\EwsFieldURIOrConstantType + */ + public function setExtendedFieldURI(\Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) + { + $this->ExtendedFieldURI = $extendedFieldURI; return $this; } /** diff --git a/src/StructType/EwsFolderResponseShapeType.php b/src/StructType/EwsFolderResponseShapeType.php index d3fd94d..fddf682 100644 --- a/src/StructType/EwsFolderResponseShapeType.php +++ b/src/StructType/EwsFolderResponseShapeType.php @@ -21,7 +21,7 @@ class EwsFolderResponseShapeType extends AbstractStructBase * The AdditionalProperties * Meta informations extracted from the WSDL * - minOccurs: 0 - * @var \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType + * @var \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType */ public $AdditionalProperties; /** @@ -29,9 +29,9 @@ class EwsFolderResponseShapeType extends AbstractStructBase * @uses EwsFolderResponseShapeType::setBaseShape() * @uses EwsFolderResponseShapeType::setAdditionalProperties() * @param string $baseShape - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties */ - public function __construct($baseShape = null, \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function __construct($baseShape = null, \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this ->setBaseShape($baseShape) @@ -64,7 +64,7 @@ public function setBaseShape($baseShape = null) } /** * Get AdditionalProperties value - * @return \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType|null + * @return \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType|null */ public function getAdditionalProperties() { @@ -72,10 +72,10 @@ public function getAdditionalProperties() } /** * Set AdditionalProperties value - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties * @return \Ews\StructType\EwsFolderResponseShapeType */ - public function setAdditionalProperties(\Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function setAdditionalProperties(\Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this->AdditionalProperties = $additionalProperties; return $this; diff --git a/src/StructType/EwsItemResponseShapeType.php b/src/StructType/EwsItemResponseShapeType.php index 6b0da81..0bfc0ed 100644 --- a/src/StructType/EwsItemResponseShapeType.php +++ b/src/StructType/EwsItemResponseShapeType.php @@ -97,7 +97,7 @@ class EwsItemResponseShapeType extends AbstractStructBase * The AdditionalProperties * Meta informations extracted from the WSDL * - minOccurs: 0 - * @var \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType + * @var \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType */ public $AdditionalProperties; /** @@ -125,9 +125,9 @@ class EwsItemResponseShapeType extends AbstractStructBase * @param bool $blockExternalImages * @param bool $addBlankTargetToLinks * @param int $maximumBodySize - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties */ - public function __construct($baseShape = null, $includeMimeContent = null, $bodyType = null, $uniqueBodyType = null, $normalizedBodyType = null, $filterHtmlContent = null, $convertHtmlCodePageToUTF8 = null, $inlineImageUrlTemplate = null, $blockExternalImages = null, $addBlankTargetToLinks = null, $maximumBodySize = null, \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function __construct($baseShape = null, $includeMimeContent = null, $bodyType = null, $uniqueBodyType = null, $normalizedBodyType = null, $filterHtmlContent = null, $convertHtmlCodePageToUTF8 = null, $inlineImageUrlTemplate = null, $blockExternalImages = null, $addBlankTargetToLinks = null, $maximumBodySize = null, \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this ->setBaseShape($baseShape) @@ -379,7 +379,7 @@ public function setMaximumBodySize($maximumBodySize = null) } /** * Get AdditionalProperties value - * @return \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType|null + * @return \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType|null */ public function getAdditionalProperties() { @@ -387,10 +387,10 @@ public function getAdditionalProperties() } /** * Set AdditionalProperties value - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties * @return \Ews\StructType\EwsItemResponseShapeType */ - public function setAdditionalProperties(\Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function setAdditionalProperties(\Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this->AdditionalProperties = $additionalProperties; return $this; diff --git a/src/StructType/EwsMultipleOperandBooleanExpressionType.php b/src/StructType/EwsMultipleOperandBooleanExpressionType.php index 395fe52..04a4f07 100644 --- a/src/StructType/EwsMultipleOperandBooleanExpressionType.php +++ b/src/StructType/EwsMultipleOperandBooleanExpressionType.php @@ -13,62 +13,322 @@ abstract class EwsMultipleOperandBooleanExpressionType extends EwsSearchExpressionType { /** - * The SearchExpression - * Meta informations extracted from the WSDL - * - maxOccurs: unbounded - * - minOccurs: 1 - * - ref: t:SearchExpression - * @var \Ews\StructType\EwsSearchExpressionType[] + * The Exists + * @var \Ews\StructType\EwsExistsType */ - public $SearchExpression; + public $Exists; + /** + * The Excludes + * @var \Ews\StructType\EwsExcludesType + */ + public $Excludes; + /** + * The IsEqualTo + * @var \Ews\StructType\EwsIsEqualToType + */ + public $IsEqualTo; + /** + * The IsNotEqualTo + * @var \Ews\StructType\EwsIsNotEqualToType + */ + public $IsNotEqualTo; + /** + * The IsGreaterThan + * @var \Ews\StructType\EwsIsGreaterThanType + */ + public $IsGreaterThan; + /** + * The IsGreaterThanOrEqualTo + * @var \Ews\StructType\EwsIsGreaterThanOrEqualToType + */ + public $IsGreaterThanOrEqualTo; + /** + * The IsLessThan + * @var \Ews\StructType\EwsIsLessThanType + */ + public $IsLessThan; + /** + * The IsLessThanOrEqualTo + * @var \Ews\StructType\EwsIsLessThanOrEqualToType + */ + public $IsLessThanOrEqualTo; + /** + * The Contains + * @var \Ews\StructType\EwsContainsExpressionType + */ + public $Contains; + /** + * The Not + * @var \Ews\StructType\EwsNotType + */ + public $Not; + /** + * The And + * @var \Ews\StructType\EwsAndType + */ + public $And; + /** + * The Or + * @var \Ews\StructType\EwsOrType + */ + public $Or; /** * Constructor method for MultipleOperandBooleanExpressionType - * @uses EwsMultipleOperandBooleanExpressionType::setSearchExpression() - * @param \Ews\StructType\EwsSearchExpressionType[] $searchExpression + * @uses EwsMultipleOperandBooleanExpressionType::setExists() + * @uses EwsMultipleOperandBooleanExpressionType::setExcludes() + * @uses EwsMultipleOperandBooleanExpressionType::setIsEqualTo() + * @uses EwsMultipleOperandBooleanExpressionType::setIsNotEqualTo() + * @uses EwsMultipleOperandBooleanExpressionType::setIsGreaterThan() + * @uses EwsMultipleOperandBooleanExpressionType::setIsGreaterThanOrEqualTo() + * @uses EwsMultipleOperandBooleanExpressionType::setIsLessThan() + * @uses EwsMultipleOperandBooleanExpressionType::setIsLessThanOrEqualTo() + * @uses EwsMultipleOperandBooleanExpressionType::setContains() + * @uses EwsMultipleOperandBooleanExpressionType::setNot() + * @uses EwsMultipleOperandBooleanExpressionType::setAnd() + * @uses EwsMultipleOperandBooleanExpressionType::setOr() + * @param \Ews\StructType\EwsExistsType $exists + * @param \Ews\StructType\EwsExcludesType $excludes + * @param \Ews\StructType\EwsIsEqualToType $isEqualTo + * @param \Ews\StructType\EwsIsNotEqualToType $isNotEqualTo + * @param \Ews\StructType\EwsIsGreaterThanType $isGreaterThan + * @param \Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo + * @param \Ews\StructType\EwsIsLessThanType $isLessThan + * @param \Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo + * @param \Ews\StructType\EwsContainsExpressionType $contains + * @param \Ews\StructType\EwsNotType $not + * @param \Ews\StructType\EwsAndType $and + * @param \Ews\StructType\EwsOrType $or */ - public function __construct(array $searchExpression = array()) + public function __construct(\Ews\StructType\EwsExistsType $exists = null, \Ews\StructType\EwsExcludesType $excludes = null, \Ews\StructType\EwsIsEqualToType $isEqualTo = null, \Ews\StructType\EwsIsNotEqualToType $isNotEqualTo = null, \Ews\StructType\EwsIsGreaterThanType $isGreaterThan = null, \Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo = null, \Ews\StructType\EwsIsLessThanType $isLessThan = null, \Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo = null, \Ews\StructType\EwsContainsExpressionType $contains = null, \Ews\StructType\EwsNotType $not = null, \Ews\StructType\EwsAndType $and = null, \Ews\StructType\EwsOrType $or = null) { $this - ->setSearchExpression($searchExpression); + ->setExists($exists) + ->setExcludes($excludes) + ->setIsEqualTo($isEqualTo) + ->setIsNotEqualTo($isNotEqualTo) + ->setIsGreaterThan($isGreaterThan) + ->setIsGreaterThanOrEqualTo($isGreaterThanOrEqualTo) + ->setIsLessThan($isLessThan) + ->setIsLessThanOrEqualTo($isLessThanOrEqualTo) + ->setContains($contains) + ->setNot($not) + ->setAnd($and) + ->setOr($or); + } + /** + * Get Exists value + * @return \Ews\StructType\EwsExistsType|null + */ + public function getExists() + { + return $this->Exists; + } + /** + * Set Exists value + * @param \Ews\StructType\EwsExistsType $exists + * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType + */ + public function setExists(\Ews\StructType\EwsExistsType $exists = null) + { + $this->Exists = $exists; + return $this; + } + /** + * Get Excludes value + * @return \Ews\StructType\EwsExcludesType|null + */ + public function getExcludes() + { + return $this->Excludes; + } + /** + * Set Excludes value + * @param \Ews\StructType\EwsExcludesType $excludes + * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType + */ + public function setExcludes(\Ews\StructType\EwsExcludesType $excludes = null) + { + $this->Excludes = $excludes; + return $this; + } + /** + * Get IsEqualTo value + * @return \Ews\StructType\EwsIsEqualToType|null + */ + public function getIsEqualTo() + { + return $this->IsEqualTo; + } + /** + * Set IsEqualTo value + * @param \Ews\StructType\EwsIsEqualToType $isEqualTo + * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType + */ + public function setIsEqualTo(\Ews\StructType\EwsIsEqualToType $isEqualTo = null) + { + $this->IsEqualTo = $isEqualTo; + return $this; + } + /** + * Get IsNotEqualTo value + * @return \Ews\StructType\EwsIsNotEqualToType|null + */ + public function getIsNotEqualTo() + { + return $this->IsNotEqualTo; + } + /** + * Set IsNotEqualTo value + * @param \Ews\StructType\EwsIsNotEqualToType $isNotEqualTo + * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType + */ + public function setIsNotEqualTo(\Ews\StructType\EwsIsNotEqualToType $isNotEqualTo = null) + { + $this->IsNotEqualTo = $isNotEqualTo; + return $this; + } + /** + * Get IsGreaterThan value + * @return \Ews\StructType\EwsIsGreaterThanType|null + */ + public function getIsGreaterThan() + { + return $this->IsGreaterThan; + } + /** + * Set IsGreaterThan value + * @param \Ews\StructType\EwsIsGreaterThanType $isGreaterThan + * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType + */ + public function setIsGreaterThan(\Ews\StructType\EwsIsGreaterThanType $isGreaterThan = null) + { + $this->IsGreaterThan = $isGreaterThan; + return $this; + } + /** + * Get IsGreaterThanOrEqualTo value + * @return \Ews\StructType\EwsIsGreaterThanOrEqualToType|null + */ + public function getIsGreaterThanOrEqualTo() + { + return $this->IsGreaterThanOrEqualTo; + } + /** + * Set IsGreaterThanOrEqualTo value + * @param \Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo + * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType + */ + public function setIsGreaterThanOrEqualTo(\Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo = null) + { + $this->IsGreaterThanOrEqualTo = $isGreaterThanOrEqualTo; + return $this; + } + /** + * Get IsLessThan value + * @return \Ews\StructType\EwsIsLessThanType|null + */ + public function getIsLessThan() + { + return $this->IsLessThan; + } + /** + * Set IsLessThan value + * @param \Ews\StructType\EwsIsLessThanType $isLessThan + * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType + */ + public function setIsLessThan(\Ews\StructType\EwsIsLessThanType $isLessThan = null) + { + $this->IsLessThan = $isLessThan; + return $this; } /** - * Get SearchExpression value - * @return \Ews\StructType\EwsSearchExpressionType[] + * Get IsLessThanOrEqualTo value + * @return \Ews\StructType\EwsIsLessThanOrEqualToType|null */ - public function getSearchExpression() + public function getIsLessThanOrEqualTo() { - return $this->SearchExpression; + return $this->IsLessThanOrEqualTo; } /** - * Set SearchExpression value - * @throws \InvalidArgumentException - * @param \Ews\StructType\EwsSearchExpressionType[] $searchExpression + * Set IsLessThanOrEqualTo value + * @param \Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType */ - public function setSearchExpression(array $searchExpression = array()) + public function setIsLessThanOrEqualTo(\Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo = null) { - foreach ($searchExpression as $multipleOperandBooleanExpressionTypeSearchExpressionItem) { - // validation for constraint: itemType - if (!$multipleOperandBooleanExpressionTypeSearchExpressionItem instanceof \Ews\StructType\EwsSearchExpressionType) { - throw new \InvalidArgumentException(sprintf('The SearchExpression property can only contain items of \Ews\StructType\EwsSearchExpressionType, "%s" given', is_object($multipleOperandBooleanExpressionTypeSearchExpressionItem) ? get_class($multipleOperandBooleanExpressionTypeSearchExpressionItem) : gettype($multipleOperandBooleanExpressionTypeSearchExpressionItem)), __LINE__); - } - } - $this->SearchExpression = $searchExpression; + $this->IsLessThanOrEqualTo = $isLessThanOrEqualTo; return $this; } /** - * Add item to SearchExpression value - * @throws \InvalidArgumentException - * @param \Ews\StructType\EwsSearchExpressionType $item + * Get Contains value + * @return \Ews\StructType\EwsContainsExpressionType|null + */ + public function getContains() + { + return $this->Contains; + } + /** + * Set Contains value + * @param \Ews\StructType\EwsContainsExpressionType $contains + * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType + */ + public function setContains(\Ews\StructType\EwsContainsExpressionType $contains = null) + { + $this->Contains = $contains; + return $this; + } + /** + * Get Not value + * @return \Ews\StructType\EwsNotType|null + */ + public function getNot() + { + return $this->Not; + } + /** + * Set Not value + * @param \Ews\StructType\EwsNotType $not + * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType + */ + public function setNot(\Ews\StructType\EwsNotType $not = null) + { + $this->Not = $not; + return $this; + } + /** + * Get And value + * @return \Ews\StructType\EwsAndType|null + */ + public function getAnd() + { + return $this->And; + } + /** + * Set And value + * @param \Ews\StructType\EwsAndType $and + * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType + */ + public function setAnd(\Ews\StructType\EwsAndType $and = null) + { + $this->And = $and; + return $this; + } + /** + * Get Or value + * @return \Ews\StructType\EwsOrType|null + */ + public function getOr() + { + return $this->Or; + } + /** + * Set Or value + * @param \Ews\StructType\EwsOrType $or * @return \Ews\StructType\EwsMultipleOperandBooleanExpressionType */ - public function addToSearchExpression(\Ews\StructType\EwsSearchExpressionType $item) + public function setOr(\Ews\StructType\EwsOrType $or = null) { - // validation for constraint: itemType - if (!$item instanceof \Ews\StructType\EwsSearchExpressionType) { - throw new \InvalidArgumentException(sprintf('The SearchExpression property can only contain items of \Ews\StructType\EwsSearchExpressionType, "%s" given', is_object($item) ? get_class($item) : gettype($item)), __LINE__); - } - $this->SearchExpression[] = $item; + $this->Or = $or; return $this; } /** diff --git a/src/StructType/EwsNonEmptyArrayOfPathsToElementType.php b/src/StructType/EwsNonEmptyArrayOfPathsToElementType.php new file mode 100644 index 0000000..31844ab --- /dev/null +++ b/src/StructType/EwsNonEmptyArrayOfPathsToElementType.php @@ -0,0 +1,120 @@ + + */ +class EwsNonEmptyArrayOfPathsToElementType extends AbstractStructBase +{ + /** + * The FieldURI + * @var \Ews\StructType\EwsPathToUnindexedFieldType + */ + public $FieldURI; + /** + * The IndexedFieldURI + * @var \Ews\StructType\EwsPathToIndexedFieldType + */ + public $IndexedFieldURI; + /** + * The ExtendedFieldURI + * @var \Ews\StructType\EwsPathToExtendedFieldType + */ + public $ExtendedFieldURI; + /** + * Constructor method for NonEmptyArrayOfPathsToElementType + * @uses EwsNonEmptyArrayOfPathsToElementType::setFieldURI() + * @uses EwsNonEmptyArrayOfPathsToElementType::setIndexedFieldURI() + * @uses EwsNonEmptyArrayOfPathsToElementType::setExtendedFieldURI() + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI + */ + public function __construct(\Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null, \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null, \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) + { + $this + ->setFieldURI($fieldURI) + ->setIndexedFieldURI($indexedFieldURI) + ->setExtendedFieldURI($extendedFieldURI); + } + /** + * Get FieldURI value + * @return \Ews\StructType\EwsPathToUnindexedFieldType|null + */ + public function getFieldURI() + { + return $this->FieldURI; + } + /** + * Set FieldURI value + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @return \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType + */ + public function setFieldURI(\Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null) + { + $this->FieldURI = $fieldURI; + return $this; + } + /** + * Get IndexedFieldURI value + * @return \Ews\StructType\EwsPathToIndexedFieldType|null + */ + public function getIndexedFieldURI() + { + return $this->IndexedFieldURI; + } + /** + * Set IndexedFieldURI value + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @return \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType + */ + public function setIndexedFieldURI(\Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null) + { + $this->IndexedFieldURI = $indexedFieldURI; + return $this; + } + /** + * Get ExtendedFieldURI value + * @return \Ews\StructType\EwsPathToExtendedFieldType|null + */ + public function getExtendedFieldURI() + { + return $this->ExtendedFieldURI; + } + /** + * Set ExtendedFieldURI value + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI + * @return \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType + */ + public function setExtendedFieldURI(\Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) + { + $this->ExtendedFieldURI = $extendedFieldURI; + return $this; + } + /** + * Method called when an object has been exported with var_export() functions + * It allows to return an object instantiated with the values + * @see AbstractStructBase::__set_state() + * @uses AbstractStructBase::__set_state() + * @param array $array the exported values + * @return \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType + */ + public static function __set_state(array $array) + { + return parent::__set_state($array); + } + /** + * Method returning the class name + * @return string __CLASS__ + */ + public function __toString() + { + return __CLASS__; + } +} diff --git a/src/StructType/EwsNotType.php b/src/StructType/EwsNotType.php index 1d07c4d..9c24413 100644 --- a/src/StructType/EwsNotType.php +++ b/src/StructType/EwsNotType.php @@ -13,38 +13,322 @@ class EwsNotType extends EwsSearchExpressionType { /** - * The SearchExpression - * Meta informations extracted from the WSDL - * - ref: t:SearchExpression - * @var \Ews\StructType\EwsSearchExpressionType + * The Exists + * @var \Ews\StructType\EwsExistsType */ - public $SearchExpression; + public $Exists; + /** + * The Excludes + * @var \Ews\StructType\EwsExcludesType + */ + public $Excludes; + /** + * The IsEqualTo + * @var \Ews\StructType\EwsIsEqualToType + */ + public $IsEqualTo; + /** + * The IsNotEqualTo + * @var \Ews\StructType\EwsIsNotEqualToType + */ + public $IsNotEqualTo; + /** + * The IsGreaterThan + * @var \Ews\StructType\EwsIsGreaterThanType + */ + public $IsGreaterThan; + /** + * The IsGreaterThanOrEqualTo + * @var \Ews\StructType\EwsIsGreaterThanOrEqualToType + */ + public $IsGreaterThanOrEqualTo; + /** + * The IsLessThan + * @var \Ews\StructType\EwsIsLessThanType + */ + public $IsLessThan; + /** + * The IsLessThanOrEqualTo + * @var \Ews\StructType\EwsIsLessThanOrEqualToType + */ + public $IsLessThanOrEqualTo; + /** + * The Contains + * @var \Ews\StructType\EwsContainsExpressionType + */ + public $Contains; + /** + * The Not + * @var \Ews\StructType\EwsNotType + */ + public $Not; + /** + * The And + * @var \Ews\StructType\EwsAndType + */ + public $And; + /** + * The Or + * @var \Ews\StructType\EwsOrType + */ + public $Or; /** * Constructor method for NotType - * @uses EwsNotType::setSearchExpression() - * @param \Ews\StructType\EwsSearchExpressionType $searchExpression + * @uses EwsNotType::setExists() + * @uses EwsNotType::setExcludes() + * @uses EwsNotType::setIsEqualTo() + * @uses EwsNotType::setIsNotEqualTo() + * @uses EwsNotType::setIsGreaterThan() + * @uses EwsNotType::setIsGreaterThanOrEqualTo() + * @uses EwsNotType::setIsLessThan() + * @uses EwsNotType::setIsLessThanOrEqualTo() + * @uses EwsNotType::setContains() + * @uses EwsNotType::setNot() + * @uses EwsNotType::setAnd() + * @uses EwsNotType::setOr() + * @param \Ews\StructType\EwsExistsType $exists + * @param \Ews\StructType\EwsExcludesType $excludes + * @param \Ews\StructType\EwsIsEqualToType $isEqualTo + * @param \Ews\StructType\EwsIsNotEqualToType $isNotEqualTo + * @param \Ews\StructType\EwsIsGreaterThanType $isGreaterThan + * @param \Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo + * @param \Ews\StructType\EwsIsLessThanType $isLessThan + * @param \Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo + * @param \Ews\StructType\EwsContainsExpressionType $contains + * @param \Ews\StructType\EwsNotType $not + * @param \Ews\StructType\EwsAndType $and + * @param \Ews\StructType\EwsOrType $or */ - public function __construct(\Ews\StructType\EwsSearchExpressionType $searchExpression = null) + public function __construct(\Ews\StructType\EwsExistsType $exists = null, \Ews\StructType\EwsExcludesType $excludes = null, \Ews\StructType\EwsIsEqualToType $isEqualTo = null, \Ews\StructType\EwsIsNotEqualToType $isNotEqualTo = null, \Ews\StructType\EwsIsGreaterThanType $isGreaterThan = null, \Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo = null, \Ews\StructType\EwsIsLessThanType $isLessThan = null, \Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo = null, \Ews\StructType\EwsContainsExpressionType $contains = null, \Ews\StructType\EwsNotType $not = null, \Ews\StructType\EwsAndType $and = null, \Ews\StructType\EwsOrType $or = null) { $this - ->setSearchExpression($searchExpression); + ->setExists($exists) + ->setExcludes($excludes) + ->setIsEqualTo($isEqualTo) + ->setIsNotEqualTo($isNotEqualTo) + ->setIsGreaterThan($isGreaterThan) + ->setIsGreaterThanOrEqualTo($isGreaterThanOrEqualTo) + ->setIsLessThan($isLessThan) + ->setIsLessThanOrEqualTo($isLessThanOrEqualTo) + ->setContains($contains) + ->setNot($not) + ->setAnd($and) + ->setOr($or); + } + /** + * Get Exists value + * @return \Ews\StructType\EwsExistsType|null + */ + public function getExists() + { + return $this->Exists; + } + /** + * Set Exists value + * @param \Ews\StructType\EwsExistsType $exists + * @return \Ews\StructType\EwsNotType + */ + public function setExists(\Ews\StructType\EwsExistsType $exists = null) + { + $this->Exists = $exists; + return $this; + } + /** + * Get Excludes value + * @return \Ews\StructType\EwsExcludesType|null + */ + public function getExcludes() + { + return $this->Excludes; + } + /** + * Set Excludes value + * @param \Ews\StructType\EwsExcludesType $excludes + * @return \Ews\StructType\EwsNotType + */ + public function setExcludes(\Ews\StructType\EwsExcludesType $excludes = null) + { + $this->Excludes = $excludes; + return $this; + } + /** + * Get IsEqualTo value + * @return \Ews\StructType\EwsIsEqualToType|null + */ + public function getIsEqualTo() + { + return $this->IsEqualTo; + } + /** + * Set IsEqualTo value + * @param \Ews\StructType\EwsIsEqualToType $isEqualTo + * @return \Ews\StructType\EwsNotType + */ + public function setIsEqualTo(\Ews\StructType\EwsIsEqualToType $isEqualTo = null) + { + $this->IsEqualTo = $isEqualTo; + return $this; + } + /** + * Get IsNotEqualTo value + * @return \Ews\StructType\EwsIsNotEqualToType|null + */ + public function getIsNotEqualTo() + { + return $this->IsNotEqualTo; + } + /** + * Set IsNotEqualTo value + * @param \Ews\StructType\EwsIsNotEqualToType $isNotEqualTo + * @return \Ews\StructType\EwsNotType + */ + public function setIsNotEqualTo(\Ews\StructType\EwsIsNotEqualToType $isNotEqualTo = null) + { + $this->IsNotEqualTo = $isNotEqualTo; + return $this; + } + /** + * Get IsGreaterThan value + * @return \Ews\StructType\EwsIsGreaterThanType|null + */ + public function getIsGreaterThan() + { + return $this->IsGreaterThan; + } + /** + * Set IsGreaterThan value + * @param \Ews\StructType\EwsIsGreaterThanType $isGreaterThan + * @return \Ews\StructType\EwsNotType + */ + public function setIsGreaterThan(\Ews\StructType\EwsIsGreaterThanType $isGreaterThan = null) + { + $this->IsGreaterThan = $isGreaterThan; + return $this; + } + /** + * Get IsGreaterThanOrEqualTo value + * @return \Ews\StructType\EwsIsGreaterThanOrEqualToType|null + */ + public function getIsGreaterThanOrEqualTo() + { + return $this->IsGreaterThanOrEqualTo; + } + /** + * Set IsGreaterThanOrEqualTo value + * @param \Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo + * @return \Ews\StructType\EwsNotType + */ + public function setIsGreaterThanOrEqualTo(\Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo = null) + { + $this->IsGreaterThanOrEqualTo = $isGreaterThanOrEqualTo; + return $this; + } + /** + * Get IsLessThan value + * @return \Ews\StructType\EwsIsLessThanType|null + */ + public function getIsLessThan() + { + return $this->IsLessThan; + } + /** + * Set IsLessThan value + * @param \Ews\StructType\EwsIsLessThanType $isLessThan + * @return \Ews\StructType\EwsNotType + */ + public function setIsLessThan(\Ews\StructType\EwsIsLessThanType $isLessThan = null) + { + $this->IsLessThan = $isLessThan; + return $this; + } + /** + * Get IsLessThanOrEqualTo value + * @return \Ews\StructType\EwsIsLessThanOrEqualToType|null + */ + public function getIsLessThanOrEqualTo() + { + return $this->IsLessThanOrEqualTo; + } + /** + * Set IsLessThanOrEqualTo value + * @param \Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo + * @return \Ews\StructType\EwsNotType + */ + public function setIsLessThanOrEqualTo(\Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo = null) + { + $this->IsLessThanOrEqualTo = $isLessThanOrEqualTo; + return $this; + } + /** + * Get Contains value + * @return \Ews\StructType\EwsContainsExpressionType|null + */ + public function getContains() + { + return $this->Contains; + } + /** + * Set Contains value + * @param \Ews\StructType\EwsContainsExpressionType $contains + * @return \Ews\StructType\EwsNotType + */ + public function setContains(\Ews\StructType\EwsContainsExpressionType $contains = null) + { + $this->Contains = $contains; + return $this; + } + /** + * Get Not value + * @return \Ews\StructType\EwsNotType|null + */ + public function getNot() + { + return $this->Not; + } + /** + * Set Not value + * @param \Ews\StructType\EwsNotType $not + * @return \Ews\StructType\EwsNotType + */ + public function setNot(\Ews\StructType\EwsNotType $not = null) + { + $this->Not = $not; + return $this; + } + /** + * Get And value + * @return \Ews\StructType\EwsAndType|null + */ + public function getAnd() + { + return $this->And; + } + /** + * Set And value + * @param \Ews\StructType\EwsAndType $and + * @return \Ews\StructType\EwsNotType + */ + public function setAnd(\Ews\StructType\EwsAndType $and = null) + { + $this->And = $and; + return $this; } /** - * Get SearchExpression value - * @return \Ews\StructType\EwsSearchExpressionType|null + * Get Or value + * @return \Ews\StructType\EwsOrType|null */ - public function getSearchExpression() + public function getOr() { - return $this->SearchExpression; + return $this->Or; } /** - * Set SearchExpression value - * @param \Ews\StructType\EwsSearchExpressionType $searchExpression + * Set Or value + * @param \Ews\StructType\EwsOrType $or * @return \Ews\StructType\EwsNotType */ - public function setSearchExpression(\Ews\StructType\EwsSearchExpressionType $searchExpression = null) + public function setOr(\Ews\StructType\EwsOrType $or = null) { - $this->SearchExpression = $searchExpression; + $this->Or = $or; return $this; } /** diff --git a/src/StructType/EwsPersonResponseShapeType.php b/src/StructType/EwsPersonResponseShapeType.php index a040798..19b56f7 100644 --- a/src/StructType/EwsPersonResponseShapeType.php +++ b/src/StructType/EwsPersonResponseShapeType.php @@ -21,7 +21,7 @@ class EwsPersonResponseShapeType extends AbstractStructBase * The AdditionalProperties * Meta informations extracted from the WSDL * - minOccurs: 0 - * @var \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType + * @var \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType */ public $AdditionalProperties; /** @@ -29,9 +29,9 @@ class EwsPersonResponseShapeType extends AbstractStructBase * @uses EwsPersonResponseShapeType::setBaseShape() * @uses EwsPersonResponseShapeType::setAdditionalProperties() * @param string $baseShape - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties */ - public function __construct($baseShape = null, \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function __construct($baseShape = null, \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this ->setBaseShape($baseShape) @@ -64,7 +64,7 @@ public function setBaseShape($baseShape = null) } /** * Get AdditionalProperties value - * @return \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType|null + * @return \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType|null */ public function getAdditionalProperties() { @@ -72,10 +72,10 @@ public function getAdditionalProperties() } /** * Set AdditionalProperties value - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties * @return \Ews\StructType\EwsPersonResponseShapeType */ - public function setAdditionalProperties(\Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function setAdditionalProperties(\Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this->AdditionalProperties = $additionalProperties; return $this; diff --git a/src/StructType/EwsPersonaResponseShapeType.php b/src/StructType/EwsPersonaResponseShapeType.php index cc58451..0ed46ba 100644 --- a/src/StructType/EwsPersonaResponseShapeType.php +++ b/src/StructType/EwsPersonaResponseShapeType.php @@ -21,7 +21,7 @@ class EwsPersonaResponseShapeType extends AbstractStructBase * The AdditionalProperties * Meta informations extracted from the WSDL * - minOccurs: 0 - * @var \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType + * @var \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType */ public $AdditionalProperties; /** @@ -29,9 +29,9 @@ class EwsPersonaResponseShapeType extends AbstractStructBase * @uses EwsPersonaResponseShapeType::setBaseShape() * @uses EwsPersonaResponseShapeType::setAdditionalProperties() * @param string $baseShape - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties */ - public function __construct($baseShape = null, \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function __construct($baseShape = null, \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this ->setBaseShape($baseShape) @@ -64,7 +64,7 @@ public function setBaseShape($baseShape = null) } /** * Get AdditionalProperties value - * @return \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType|null + * @return \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType|null */ public function getAdditionalProperties() { @@ -72,10 +72,10 @@ public function getAdditionalProperties() } /** * Set AdditionalProperties value - * @param \Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties + * @param \Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties * @return \Ews\StructType\EwsPersonaResponseShapeType */ - public function setAdditionalProperties(\Ews\ArrayType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) + public function setAdditionalProperties(\Ews\StructType\EwsNonEmptyArrayOfPathsToElementType $additionalProperties = null) { $this->AdditionalProperties = $additionalProperties; return $this; diff --git a/src/StructType/EwsReplyBody.php b/src/StructType/EwsReplyBody.php index 9807def..b30e5a3 100644 --- a/src/StructType/EwsReplyBody.php +++ b/src/StructType/EwsReplyBody.php @@ -25,7 +25,7 @@ class EwsReplyBody extends AbstractStructBase * Meta informations extracted from the WSDL * - ref: xml:lang * - use: optional - * @var UNKNOWN + * @var string */ public $lang; /** @@ -33,9 +33,9 @@ class EwsReplyBody extends AbstractStructBase * @uses EwsReplyBody::setMessage() * @uses EwsReplyBody::setLang() * @param string $message - * @param UNKNOWN $lang + * @param string $lang */ - public function __construct($message = null, UNKNOWN $lang = null) + public function __construct($message = null, $lang = null) { $this ->setMessage($message) @@ -65,7 +65,7 @@ public function setMessage($message = null) } /** * Get lang value - * @return UNKNOWN|null + * @return string|null */ public function getLang() { @@ -73,11 +73,15 @@ public function getLang() } /** * Set lang value - * @param UNKNOWN $lang + * @param string $lang * @return \Ews\StructType\EwsReplyBody */ - public function setLang(UNKNOWN $lang = null) + public function setLang($lang = null) { + // validation for constraint: string + if (!is_null($lang) && !is_string($lang)) { + throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($lang)), __LINE__); + } $this->lang = $lang; return $this; } diff --git a/src/StructType/EwsRestrictionType.php b/src/StructType/EwsRestrictionType.php index dc47ea3..d6ff6d9 100644 --- a/src/StructType/EwsRestrictionType.php +++ b/src/StructType/EwsRestrictionType.php @@ -13,38 +13,322 @@ class EwsRestrictionType extends AbstractStructBase { /** - * The SearchExpression - * Meta informations extracted from the WSDL - * - ref: t:SearchExpression - * @var \Ews\StructType\EwsSearchExpressionType + * The Exists + * @var \Ews\StructType\EwsExistsType */ - public $SearchExpression; + public $Exists; + /** + * The Excludes + * @var \Ews\StructType\EwsExcludesType + */ + public $Excludes; + /** + * The IsEqualTo + * @var \Ews\StructType\EwsIsEqualToType + */ + public $IsEqualTo; + /** + * The IsNotEqualTo + * @var \Ews\StructType\EwsIsNotEqualToType + */ + public $IsNotEqualTo; + /** + * The IsGreaterThan + * @var \Ews\StructType\EwsIsGreaterThanType + */ + public $IsGreaterThan; + /** + * The IsGreaterThanOrEqualTo + * @var \Ews\StructType\EwsIsGreaterThanOrEqualToType + */ + public $IsGreaterThanOrEqualTo; + /** + * The IsLessThan + * @var \Ews\StructType\EwsIsLessThanType + */ + public $IsLessThan; + /** + * The IsLessThanOrEqualTo + * @var \Ews\StructType\EwsIsLessThanOrEqualToType + */ + public $IsLessThanOrEqualTo; + /** + * The Contains + * @var \Ews\StructType\EwsContainsExpressionType + */ + public $Contains; + /** + * The Not + * @var \Ews\StructType\EwsNotType + */ + public $Not; + /** + * The And + * @var \Ews\StructType\EwsAndType + */ + public $And; + /** + * The Or + * @var \Ews\StructType\EwsOrType + */ + public $Or; /** * Constructor method for RestrictionType - * @uses EwsRestrictionType::setSearchExpression() - * @param \Ews\StructType\EwsSearchExpressionType $searchExpression + * @uses EwsRestrictionType::setExists() + * @uses EwsRestrictionType::setExcludes() + * @uses EwsRestrictionType::setIsEqualTo() + * @uses EwsRestrictionType::setIsNotEqualTo() + * @uses EwsRestrictionType::setIsGreaterThan() + * @uses EwsRestrictionType::setIsGreaterThanOrEqualTo() + * @uses EwsRestrictionType::setIsLessThan() + * @uses EwsRestrictionType::setIsLessThanOrEqualTo() + * @uses EwsRestrictionType::setContains() + * @uses EwsRestrictionType::setNot() + * @uses EwsRestrictionType::setAnd() + * @uses EwsRestrictionType::setOr() + * @param \Ews\StructType\EwsExistsType $exists + * @param \Ews\StructType\EwsExcludesType $excludes + * @param \Ews\StructType\EwsIsEqualToType $isEqualTo + * @param \Ews\StructType\EwsIsNotEqualToType $isNotEqualTo + * @param \Ews\StructType\EwsIsGreaterThanType $isGreaterThan + * @param \Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo + * @param \Ews\StructType\EwsIsLessThanType $isLessThan + * @param \Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo + * @param \Ews\StructType\EwsContainsExpressionType $contains + * @param \Ews\StructType\EwsNotType $not + * @param \Ews\StructType\EwsAndType $and + * @param \Ews\StructType\EwsOrType $or */ - public function __construct(\Ews\StructType\EwsSearchExpressionType $searchExpression = null) + public function __construct(\Ews\StructType\EwsExistsType $exists = null, \Ews\StructType\EwsExcludesType $excludes = null, \Ews\StructType\EwsIsEqualToType $isEqualTo = null, \Ews\StructType\EwsIsNotEqualToType $isNotEqualTo = null, \Ews\StructType\EwsIsGreaterThanType $isGreaterThan = null, \Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo = null, \Ews\StructType\EwsIsLessThanType $isLessThan = null, \Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo = null, \Ews\StructType\EwsContainsExpressionType $contains = null, \Ews\StructType\EwsNotType $not = null, \Ews\StructType\EwsAndType $and = null, \Ews\StructType\EwsOrType $or = null) { $this - ->setSearchExpression($searchExpression); + ->setExists($exists) + ->setExcludes($excludes) + ->setIsEqualTo($isEqualTo) + ->setIsNotEqualTo($isNotEqualTo) + ->setIsGreaterThan($isGreaterThan) + ->setIsGreaterThanOrEqualTo($isGreaterThanOrEqualTo) + ->setIsLessThan($isLessThan) + ->setIsLessThanOrEqualTo($isLessThanOrEqualTo) + ->setContains($contains) + ->setNot($not) + ->setAnd($and) + ->setOr($or); + } + /** + * Get Exists value + * @return \Ews\StructType\EwsExistsType|null + */ + public function getExists() + { + return $this->Exists; + } + /** + * Set Exists value + * @param \Ews\StructType\EwsExistsType $exists + * @return \Ews\StructType\EwsRestrictionType + */ + public function setExists(\Ews\StructType\EwsExistsType $exists = null) + { + $this->Exists = $exists; + return $this; + } + /** + * Get Excludes value + * @return \Ews\StructType\EwsExcludesType|null + */ + public function getExcludes() + { + return $this->Excludes; + } + /** + * Set Excludes value + * @param \Ews\StructType\EwsExcludesType $excludes + * @return \Ews\StructType\EwsRestrictionType + */ + public function setExcludes(\Ews\StructType\EwsExcludesType $excludes = null) + { + $this->Excludes = $excludes; + return $this; + } + /** + * Get IsEqualTo value + * @return \Ews\StructType\EwsIsEqualToType|null + */ + public function getIsEqualTo() + { + return $this->IsEqualTo; + } + /** + * Set IsEqualTo value + * @param \Ews\StructType\EwsIsEqualToType $isEqualTo + * @return \Ews\StructType\EwsRestrictionType + */ + public function setIsEqualTo(\Ews\StructType\EwsIsEqualToType $isEqualTo = null) + { + $this->IsEqualTo = $isEqualTo; + return $this; + } + /** + * Get IsNotEqualTo value + * @return \Ews\StructType\EwsIsNotEqualToType|null + */ + public function getIsNotEqualTo() + { + return $this->IsNotEqualTo; + } + /** + * Set IsNotEqualTo value + * @param \Ews\StructType\EwsIsNotEqualToType $isNotEqualTo + * @return \Ews\StructType\EwsRestrictionType + */ + public function setIsNotEqualTo(\Ews\StructType\EwsIsNotEqualToType $isNotEqualTo = null) + { + $this->IsNotEqualTo = $isNotEqualTo; + return $this; + } + /** + * Get IsGreaterThan value + * @return \Ews\StructType\EwsIsGreaterThanType|null + */ + public function getIsGreaterThan() + { + return $this->IsGreaterThan; + } + /** + * Set IsGreaterThan value + * @param \Ews\StructType\EwsIsGreaterThanType $isGreaterThan + * @return \Ews\StructType\EwsRestrictionType + */ + public function setIsGreaterThan(\Ews\StructType\EwsIsGreaterThanType $isGreaterThan = null) + { + $this->IsGreaterThan = $isGreaterThan; + return $this; + } + /** + * Get IsGreaterThanOrEqualTo value + * @return \Ews\StructType\EwsIsGreaterThanOrEqualToType|null + */ + public function getIsGreaterThanOrEqualTo() + { + return $this->IsGreaterThanOrEqualTo; + } + /** + * Set IsGreaterThanOrEqualTo value + * @param \Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo + * @return \Ews\StructType\EwsRestrictionType + */ + public function setIsGreaterThanOrEqualTo(\Ews\StructType\EwsIsGreaterThanOrEqualToType $isGreaterThanOrEqualTo = null) + { + $this->IsGreaterThanOrEqualTo = $isGreaterThanOrEqualTo; + return $this; + } + /** + * Get IsLessThan value + * @return \Ews\StructType\EwsIsLessThanType|null + */ + public function getIsLessThan() + { + return $this->IsLessThan; + } + /** + * Set IsLessThan value + * @param \Ews\StructType\EwsIsLessThanType $isLessThan + * @return \Ews\StructType\EwsRestrictionType + */ + public function setIsLessThan(\Ews\StructType\EwsIsLessThanType $isLessThan = null) + { + $this->IsLessThan = $isLessThan; + return $this; + } + /** + * Get IsLessThanOrEqualTo value + * @return \Ews\StructType\EwsIsLessThanOrEqualToType|null + */ + public function getIsLessThanOrEqualTo() + { + return $this->IsLessThanOrEqualTo; + } + /** + * Set IsLessThanOrEqualTo value + * @param \Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo + * @return \Ews\StructType\EwsRestrictionType + */ + public function setIsLessThanOrEqualTo(\Ews\StructType\EwsIsLessThanOrEqualToType $isLessThanOrEqualTo = null) + { + $this->IsLessThanOrEqualTo = $isLessThanOrEqualTo; + return $this; + } + /** + * Get Contains value + * @return \Ews\StructType\EwsContainsExpressionType|null + */ + public function getContains() + { + return $this->Contains; + } + /** + * Set Contains value + * @param \Ews\StructType\EwsContainsExpressionType $contains + * @return \Ews\StructType\EwsRestrictionType + */ + public function setContains(\Ews\StructType\EwsContainsExpressionType $contains = null) + { + $this->Contains = $contains; + return $this; + } + /** + * Get Not value + * @return \Ews\StructType\EwsNotType|null + */ + public function getNot() + { + return $this->Not; + } + /** + * Set Not value + * @param \Ews\StructType\EwsNotType $not + * @return \Ews\StructType\EwsRestrictionType + */ + public function setNot(\Ews\StructType\EwsNotType $not = null) + { + $this->Not = $not; + return $this; + } + /** + * Get And value + * @return \Ews\StructType\EwsAndType|null + */ + public function getAnd() + { + return $this->And; + } + /** + * Set And value + * @param \Ews\StructType\EwsAndType $and + * @return \Ews\StructType\EwsRestrictionType + */ + public function setAnd(\Ews\StructType\EwsAndType $and = null) + { + $this->And = $and; + return $this; } /** - * Get SearchExpression value - * @return \Ews\StructType\EwsSearchExpressionType|null + * Get Or value + * @return \Ews\StructType\EwsOrType|null */ - public function getSearchExpression() + public function getOr() { - return $this->SearchExpression; + return $this->Or; } /** - * Set SearchExpression value - * @param \Ews\StructType\EwsSearchExpressionType $searchExpression + * Set Or value + * @param \Ews\StructType\EwsOrType $or * @return \Ews\StructType\EwsRestrictionType */ - public function setSearchExpression(\Ews\StructType\EwsSearchExpressionType $searchExpression = null) + public function setOr(\Ews\StructType\EwsOrType $or = null) { - $this->SearchExpression = $searchExpression; + $this->Or = $or; return $this; } /** diff --git a/src/StructType/EwsTwoOperandExpressionType.php b/src/StructType/EwsTwoOperandExpressionType.php index 19c46e6..f534a13 100644 --- a/src/StructType/EwsTwoOperandExpressionType.php +++ b/src/StructType/EwsTwoOperandExpressionType.php @@ -12,65 +12,115 @@ */ abstract class EwsTwoOperandExpressionType extends EwsSearchExpressionType { - /** - * The Path - * Meta informations extracted from the WSDL - * - ref: t:Path - * @var \Ews\StructType\EwsBasePathToElementType - */ - public $Path; /** * The FieldURIOrConstant * @var \Ews\StructType\EwsFieldURIOrConstantType */ public $FieldURIOrConstant; + /** + * The FieldURI + * @var \Ews\StructType\EwsPathToUnindexedFieldType + */ + public $FieldURI; + /** + * The IndexedFieldURI + * @var \Ews\StructType\EwsPathToIndexedFieldType + */ + public $IndexedFieldURI; + /** + * The ExtendedFieldURI + * @var \Ews\StructType\EwsPathToExtendedFieldType + */ + public $ExtendedFieldURI; /** * Constructor method for TwoOperandExpressionType - * @uses EwsTwoOperandExpressionType::setPath() * @uses EwsTwoOperandExpressionType::setFieldURIOrConstant() - * @param \Ews\StructType\EwsBasePathToElementType $path + * @uses EwsTwoOperandExpressionType::setFieldURI() + * @uses EwsTwoOperandExpressionType::setIndexedFieldURI() + * @uses EwsTwoOperandExpressionType::setExtendedFieldURI() * @param \Ews\StructType\EwsFieldURIOrConstantType $fieldURIOrConstant + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI */ - public function __construct(\Ews\StructType\EwsBasePathToElementType $path = null, \Ews\StructType\EwsFieldURIOrConstantType $fieldURIOrConstant = null) + public function __construct(\Ews\StructType\EwsFieldURIOrConstantType $fieldURIOrConstant = null, \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null, \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null, \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) { $this - ->setPath($path) - ->setFieldURIOrConstant($fieldURIOrConstant); + ->setFieldURIOrConstant($fieldURIOrConstant) + ->setFieldURI($fieldURI) + ->setIndexedFieldURI($indexedFieldURI) + ->setExtendedFieldURI($extendedFieldURI); } /** - * Get Path value - * @return \Ews\StructType\EwsBasePathToElementType|null + * Get FieldURIOrConstant value + * @return \Ews\StructType\EwsFieldURIOrConstantType|null */ - public function getPath() + public function getFieldURIOrConstant() { - return $this->Path; + return $this->FieldURIOrConstant; } /** - * Set Path value - * @param \Ews\StructType\EwsBasePathToElementType $path + * Set FieldURIOrConstant value + * @param \Ews\StructType\EwsFieldURIOrConstantType $fieldURIOrConstant * @return \Ews\StructType\EwsTwoOperandExpressionType */ - public function setPath(\Ews\StructType\EwsBasePathToElementType $path = null) + public function setFieldURIOrConstant(\Ews\StructType\EwsFieldURIOrConstantType $fieldURIOrConstant = null) { - $this->Path = $path; + $this->FieldURIOrConstant = $fieldURIOrConstant; return $this; } /** - * Get FieldURIOrConstant value - * @return \Ews\StructType\EwsFieldURIOrConstantType|null + * Get FieldURI value + * @return \Ews\StructType\EwsPathToUnindexedFieldType|null */ - public function getFieldURIOrConstant() + public function getFieldURI() { - return $this->FieldURIOrConstant; + return $this->FieldURI; } /** - * Set FieldURIOrConstant value - * @param \Ews\StructType\EwsFieldURIOrConstantType $fieldURIOrConstant + * Set FieldURI value + * @param \Ews\StructType\EwsPathToUnindexedFieldType $fieldURI * @return \Ews\StructType\EwsTwoOperandExpressionType */ - public function setFieldURIOrConstant(\Ews\StructType\EwsFieldURIOrConstantType $fieldURIOrConstant = null) + public function setFieldURI(\Ews\StructType\EwsPathToUnindexedFieldType $fieldURI = null) { - $this->FieldURIOrConstant = $fieldURIOrConstant; + $this->FieldURI = $fieldURI; + return $this; + } + /** + * Get IndexedFieldURI value + * @return \Ews\StructType\EwsPathToIndexedFieldType|null + */ + public function getIndexedFieldURI() + { + return $this->IndexedFieldURI; + } + /** + * Set IndexedFieldURI value + * @param \Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI + * @return \Ews\StructType\EwsTwoOperandExpressionType + */ + public function setIndexedFieldURI(\Ews\StructType\EwsPathToIndexedFieldType $indexedFieldURI = null) + { + $this->IndexedFieldURI = $indexedFieldURI; + return $this; + } + /** + * Get ExtendedFieldURI value + * @return \Ews\StructType\EwsPathToExtendedFieldType|null + */ + public function getExtendedFieldURI() + { + return $this->ExtendedFieldURI; + } + /** + * Set ExtendedFieldURI value + * @param \Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI + * @return \Ews\StructType\EwsTwoOperandExpressionType + */ + public function setExtendedFieldURI(\Ews\StructType\EwsPathToExtendedFieldType $extendedFieldURI = null) + { + $this->ExtendedFieldURI = $extendedFieldURI; return $this; } /** diff --git a/substitutionGroup.php b/substitutionGroup.php new file mode 100644 index 0000000..9e51a8c --- /dev/null +++ b/substitutionGroup.php @@ -0,0 +1,68 @@ +ouputFormated = true; +$dom->formatedOutput = true; +$dom->load(__DIR__ . '/wsdl/services.wsdl'); +$generator = new Generator(GeneratorOptions::instance()->setOrigin(__DIR__ . '/wsdl/services.wsdl')); + +$wsdl = new Wsdl($dom, $generator); +$includeParser = new TagInclude($generator); +$importParser = new TagImport($generator); +$includeParser->parse(); +$importParser->parse(); + +echo $generator->getWsdl()->getContent()->getExternalSchemas()->count(); + +$substitionGroupNames = array('t:SearchExpression', 't:Path', 't:Transition'); +foreach($substitionGroupNames as $substitionGroupName) { + $substitionGroups = $generator->getWsdl()->getContent()->getElementsByNameAndAttributes('element', array( + 'substitutionGroup' => $substitionGroupName + ), null, true); + + echo PHP_EOL . sprintf(' %s subscription groups found for %s', count($substitionGroups), $substitionGroupName) . PHP_EOL; + + foreach($generator->getWsdl()->getContent()->getExternalSchemas() as $externalSchema) { + /** @var \WsdlToPhp\PackageGenerator\Container\Model\Schema $externalSchema */ + $searchExpressions = $externalSchema->getContent()->getElementsByNameAndAttributes('element', array( + 'ref' => $substitionGroupName + ), null, true); + + echo PHP_EOL . sprintf('%s %s found in %s', count($searchExpressions), $substitionGroupName, $externalSchema->getName()) . PHP_EOL; + + foreach($searchExpressions as $searchExpression) { + $parent = $searchExpression->getParent(); + $parent->getElement()->removeChild($searchExpression->getNode()); + $parent->getElement()->appendChild($parent->getDomDocumentHandler()->getRootElement()->getParent()->getNode()->createComment(' ### Subscription group ' . $substitionGroupName . ' is replaced by actual elements ### ')); + foreach($substitionGroups as $substitionGroup) { + echo PHP_EOL . $substitionGroup->getAttributeName(); + $node = $parent->getDomDocumentHandler()->getRootElement()->getParent()->getNode()->createElementNS('http://www.w3.org/2001/XMLSchema', 'element'); + $node->setAttribute('name', $substitionGroup->getAttributeName()); + $node->setAttribute('type', $substitionGroup->getAttribute('type')->getValue(true)); + $parent->getElement()->appendChild($node); + } + $parent->getDomDocumentHandler()->getRootElement()->getParent()->getNode()->formatOutput = true; + } + echo $externalSchema->getContent()->getRootElement()->getParent()->getNode()->save(str_replace('.xsd', '.updated.xsd', $externalSchema->getName())); + } +} + +echo PHP_EOL; diff --git a/tutorial.php b/tutorial.php index 67e551b..232ab5e 100755 --- a/tutorial.php +++ b/tutorial.php @@ -6,7 +6,7 @@ * - the key must be a constant beginning with WSDL_ from AbstractSoapClientbase class each generated ServiceType class extends this class * - the value must be the corresponding key value (each option matches a {@link http://www.php.net/manual/en/soapclient.soapclient.php} option) * $options = array( - * \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => __DIR__ . '/wsdl/services.wsdl', + * \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => __DIR__ . '/wsdl/services.updated.wsdl', * \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_TRACE => true, * \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_LOGIN => 'you_secret_login', * \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_PASSWORD => 'you_secret_password', @@ -18,7 +18,7 @@ * Minimal options */ $options = array( - \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => __DIR__ . '/wsdl/services.wsdl', + \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => __DIR__ . '/wsdl/services.updated.wsdl', \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_CLASSMAP => \Ews\EwsClassMap::get(), ); /** diff --git a/wsdl/messages.updated.xsd b/wsdl/messages.updated.xsd new file mode 100644 index 0000000..b3e0879 --- /dev/null +++ b/wsdl/messages.updated.xsd @@ -0,0 +1,5978 @@ + + + + + + + + + Represents the message keys that can be returned by response error messages + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converts the passed source ids into the destination format. Change keys are not returned. + + + + + + + + + + + + + + + Response type for the ConvertId web method + + + + + + + + + Response Message for a single id conversion in the ConvertId web method. Note that the AlternateId element will be missing in the case of an error. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Request type for the FindMailboxStatisticsByKeywords web method. + + + + + + + + + + + + + + + + + + + + + + + + Response type for the FindMailboxStatisticsByKeywords web method. + + + + + + + + + + Response message type for the FindMailboxStatisticsByKeywords web method. + + + + + + + + + + + + + + Request type for the GetSearchableMailboxes web method. + + + + + + + + + + + + + + + Response message type for the GetSearchableMailboxes web method. + + + + + + + + + + + + + + + + Request type for the SearchMailboxes web method. + + + + + + + + + + + + + + + + + + + + + + Response type for the SearchMailboxes web method. + + + + + + + + + + Response message type for the SearchMailboxes web method. + + + + + + + + + + + + + + Request type for the GetDiscoverySearchConfiguration web method. + + + + + + + + + + + + + + + + Response message type for the GetDiscoverySearchConfiguration web method. + + + + + + + + + + + + + + + Request type for the GetHoldOnMailboxes web method. + + + + + + + + + + + + + + Response message type for the GetHoldOnMailboxes web method. + + + + + + + + + + + + + + + Request type for the SetHoldOnMailboxes web method. + + + + + + + + + + + + + + + + + + + + + + Response message type for the SetHoldOnMailboxes web method. + + + + + + + + + + + + + + + Request type for the GetNonIndexableItemStatistics web method. + + + + + + + + + + + + + + + Response message type for the GetNonIndexableItemStatistics web method. + + + + + + + + + + + + + + + Request type for the GetNonIndexableItemDetails web method. + + + + + + + + + + + + + + + + + + Response message type for the GetNonIndexableItemDetails web method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Request type for the GetUserRetentionPolicyTags web method. + + + + + + + + + + + Response message type for the GetUserRetentionPolicyTags web method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wsdl/services.updated.wsdl b/wsdl/services.updated.wsdl new file mode 100644 index 0000000..f197565 --- /dev/null +++ b/wsdl/services.updated.wsdl @@ -0,0 +1,2776 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wsdl/types.updated.xsd b/wsdl/types.updated.xsd new file mode 100644 index 0000000..bcd1a74 --- /dev/null +++ b/wsdl/types.updated.xsd @@ -0,0 +1,9185 @@ + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + Surfaces the various logon types that are supported for conversion + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + + + + + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + + + + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + Precision for returned DateTime values + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifier for a fully resolved email address + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The regular expression captures the standard representation of a GUID + + + + + + + + + Defines the well known property set ids for extended properties. + + + + + + + + + + + + + + + + + + Includes all of the extended property types that we support. Note that Error, Null, Object and Object array can not be used in restrictions, or for setting/getting values. They are only there for error reporting purposes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This type represents the property tag (MINUS the type part). There are two options for representation: 1. Hex ==> 0x3fa4 2. Decimal ==> 0-65535 + + + + + + + + + + + + + Represents an extended property. Note that there are only a couple of valid attribute combinations. Note that all occurances require the PropertyType attribute. 1. (DistinguishedPropertySetId || PropertySetId) + (PropertyName || Property Id) 2. PropertyTag + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an extended property instance (both its path identifier along with its associated value). + + + + + + + + + + + + + + Types of compliance operation action + + + + + + + + + + + Types of sub-tree traversal for deletion and enumeration + + + + + + + + + + Types of sub-tree traversal for deletion and enumeration + + + + + + + + + Types of sub-tree traversal for deletion and enumeration + + + + + + + + + + Types of sub-tree traversal for conversations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Type of conflict resolution to attempt during update + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Utility type which should never appear in user documents + + + + + + + + + URIs for the distinguished folders accessible from a mailbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifier for a distinguished folder + + + + + + + + + + + + + + Identifier for a fully resolved folder + + + + + + + + + + + Identifier for a address list + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Types of view filters for finding items/conversations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compound property for Managed Folder related information for Managed Folders. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Abstract base type for item identifiers. Should never be used in web service calls + + + + + + + + + Identifier for a fully resolved item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Internal abstract base type for reply objects. Should not appear in client code + + + + + + + + + + + + + Abstract base type for reply objects + + + + + + The name of this reply object class as an English string. The client application is required to translate it if it's running in a different locale + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow attributes in the soap namespace to be used here + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This max/min evaluation is applied to the field specified within the group by instance for EACH item within that group. This determines which item from each group is to be selected as the representative for that group. + + + + + + + + + + Represents the field of each item to aggregate on and the qualifier to apply to that field in determining which item will represent the group. + + + + + + + + + + + + + + + + Allows consumers to specify arbitrary groupings for FindItem queries. + + + + + + + + + + + + + + + + + + + Represents standard groupings for GroupBy queries. + + + + + + + + + Allows consumers to access standard groupings for FindItem queries. This is in contrast to the arbitrary (custom) groupings available via the t:GroupByType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Surfaces the various id types that are supported for conversion + + + + + + + + + + + + + Surfaces alternate representations of an item or folder id. No change key is included. + + + + + + + Represents an alternate mailbox folder or item Id. + + + + + + + + + + + + + Represents an alternate public folder Id. + + + + + + + + + + + Represents an alternate public folder item Id. + + + + + + + + + + + A non-empty array of alternate Ids. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A permission on a folder + + + + + + + + + + + + + + + A permission on a folder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The set of permissions on a folder + + + + + + + + + The set of permissions on a folder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the message keys that can be returned for invalid recipients + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Size range type used for the WithinSizeRange rule predicate. + + + + + + + + + Date range type used for the WithinDateRange rule predicate. + + + + + + + + + Flagged for action enumeration, currently used in FlaggedForAction rule predicate + + + + + + + + + + + + + + + + + + Rule predicates, used as rule conditions or exceptions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule actions + + + + + + + + + + + + + + + + + + + + Rule type + + + + + + + + + + + + + + + + Array of rule objects + + + + + + + + Rule field URI enumerates all possible rule fields that could trigger validation error + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule validation error code describing what failed validation for each rule predicate or action. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a single validation error on a particular rule property value, predicate property value or action property value + + + + + + + + + + + Represents an array of rule validation errors + + + + + + + + Represents a rule operation to be performed + + + + + Represents an array of rule operations to be performed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Array of search item kind enum. + + + + + + + + + User Mailbox. + + + + + + + + Array of user mailbox. + + + + + + + + + Searchable mailbox. + + + + + + + + + + + + + + + Array of searchable mailbox. + + + + + + + + + Keyword statistics search result. + + + + + + + + + + + Array of keyword statistics result. + + + + + + + + + Mailbox statistics search result. + + + + + + + + + + Extended attributes of a target mailbox. + + + + + + + + + + Array of extended attributes of a target mailbox + + + + + + + + + + + + + + + + Set of mailbox, search scope and its extended attributes. + + + + + + + + + + + Array of mailbox and its search scope. + + + + + + + + + Pair of query and a set of mailbox search scopes. + + + + + + + + + + Mailbox information for each preview item. + + + + + + + + + + Array of query and mailboxes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mailbox search preview item. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Array of search preview item. + + + + + + + + + Mailbox failed on search and its error message. + + + + + + + + + + + + Array of failed mailbox and error message. + + + + + + + + + Mailboxes search result. + + + + + + + + + + + + + + + + + + + Search refiner item. + + + + + + + + + + + + Array of search refiner item. + + + + + + + + + + + OneDrive search result item. + + + + + + + + + + + + + File search result item. + + + + + + + + + + + + + + + + + + + + + + + + + File context properties. + + + + + + + + + + Attachment file search result properties. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mailbox statistics item. + + + + + + + + + + + + Array of mailbox statistics item. + + + + + + + + + + + + + + + + + + + + + + + + + Mailbox hold status. + + + + + + + + + + + Array of mailbox hold status. + + + + + + + + + Mailbox hold result. + + + + + + + + + + + + + + + + Non indexable item statistic. + + + + + + + + + + + Array of non indexable item statistics. + + + + + + + + + + + + + + + + + + + + + Non indexable item detail. + + + + + + + + + + + + + + + + + Array of non indexable item details. + + + + + + + + + Non indexable item details result. + + + + + + + + + + Discovery search configuration. + + + + + + + + + + + + + + Array of discovery search configuration. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retention policy tag. + + + + + + + + + + + + + + + + + Array of retention policy tags. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A Group on the ImContactList, with one or more members + + + + + + + + + + + + + + + + + + + IM Contact List + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of possible reasons for disabling the client extension + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifier for a consumer calendar. This is reserved for a select number of server-2-server calls. + + + + + + + + + + + + Shared information about a consumer calendar. This is reserved for a select number of server-2-server calls. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents base unified group + + + + + + + + + + + + Represents a unified group with favorite state + + + + + + + + + + + + + + + + + + + + Represents a set of unified groups in a GetUserUnifiedGroup response + + + + + + + + + + + Represents an array of unified groups sets in a GetUserUnifiedGroups response + + + + + + + + + Represents a set of unified groups in a GetUserUnifiedGroup request + + + + + + + + + + + + Represents an array of unified groups sets in a GetUserUnifiedGroup request + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file