EWS operation to edit Distribution list - exchangewebservices

I am looking for an EWS operation to edit a Distribution list. Here edit means, adding\deleting a existing contact into\from an existing group or changing Display Name of Group.
I have tried option like mentioned in following link:- https://social.msdn.microsoft.com/Forums/office/en-US/db110c4e-a0f2-40de-9276-3e30458b254f/ews-maximum-number-of-members-in-a-contact-group?forum=exchangesvrdevelopment
Also used properties like AppendToItemField, SetItemField and DeleteItemField?But error comes as "The method or operation is not implemented"

Finally i got the answer for Editing Groups. here is SOAP call which worked for me:-
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<UpdateItem ConflictResolution="AutoResolve" MessageDisposition="SaveOnly" SendMeetingInvitationsOrCancellations="SendToNone" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<ItemChanges>
<t:ItemChange>
<t:ItemId Id="AAMkADZmMjJlMDk...." ChangeKey="EgAAAB..." />
<t:Updates>
<t:AppendToItemField>
<t:FieldURI FieldURI="distributionlist:Members" />
<t:DistributionList>
<t:Members>
<t:Member>
<t:Mailbox>
<t:ItemId Id="AAMkADZmMjJ..." ChangeKey="EQAAABYA..." />
</t:Mailbox>
</t:Member>
<t:Member>
<t:Mailbox>
<t:EmailAddress>user#contonso.com</t:EmailAddress>
</t:Mailbox>
</t:Member>
</t:Members>
</t:DistributionList>
</t:AppendToItemField>
</t:Updates>
</t:ItemChange>
</ItemChanges>
</UpdateItem>
</soap:Body>
</soap:Envelope>

Related

Mail sending through gmail in Mule Flow

I am struggling with mail sending flow in mule, Getting below error:
Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=smtps://dummy.DevGroup:<password>#smtp.gmail.com, connector=SmtpsConnector
I have below configuration in my xml file (Updated with namespace declarations in the Mule XML):
<mule
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:twilio="http://www.mulesoft.org/schema/mule/twilio"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:stdio="http://www.mulesoft.org/schema/mule/stdio"
xmlns:vm="http://www.mulesoft.org/schema/mule/vm"
xmlns:file="http://www.mulesoft.org/schema/mule/file"
xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf"
xmlns:jms="http://www.mulesoft.org/schema/mule/jms"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:smtp="http://www.mulesoft.org/schema/mule/smtp"
xmlns:smtps="http://www.mulesoft.org/schema/mule/smtps"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/stdio http://www.mulesoft.org/schema/mule/stdio/current/mule-stdio.xsd
http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/current/mule-vm.xsd
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/current/mule-cxf.xsd
http://www.mulesoft.org/schema/mule/jms http://www.mulesoft.org/schema/mule/jms/current/mule-jms.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://www.mulesoft.org/schema/mule/smtp http://www.mulesoft.org/schema/mule/smtp/3.3/mule-smtp.xsd
http://www.mulesoft.org/schema/mule/smtps http://www.mulesoft.org/schema/mule/smtps/current/mule-smtps.xsd
http://www.mulesoft.org/schema/mule/twilio http://www.mulesoft.org/schema/mule/twilio/1.0/mule-twilio.xsd">
<service name="tool.muleservice.emailServiceintegration">
<inbound>
<inbound-endpoint ref="tool.endpoint.emailNotification"/>
</inbound>
<outbound>
<pass-through-router>
<outbound-endpoint ref="tool.smtp.endpoint.emailNotification"/>
</pass-through-router>
</outbound>
</service>
<smtps:endpoint name="tool.smtp.endpoint.emailNotification"
user="#[message.inboundProperties['userName']]"
password="#[message.inboundProperties['password']]"
host="smtp.gmail.com"
port="465"
from="dummy.DevGroup%40gmail.com"
transformer-refs="customEmailTransformer"
connector-ref="myTSLSMTPConnnector">
</smtps:endpoint>
<smtps:connector name="myTSLSMTPConnnector">
<smtps:tls-client path="../cacerts" storePassword="changeit" />
<smtps:tls-trust-store path="../cacerts" storePassword="changeit" />
</smtps:connector>
I updated the xml file as below content, to use smtp-gmail-connector given here
<service name="tool.muleservice.emailServiceintegration">
<inbound>
<inbound-endpoint
ref="tool.endpoint.emailNotification" />
</inbound>
<outbound>
<pass-through-router>
<!-- <outbound-endpoint ref="tool.smtp.endpoint.emailNotification"/> -->
<smtp:outbound-endpoint connector-ref="smtpGmailConnector"
subject="test msg"
address="smtps://#[message.inboundProperties['userName']]:#[message.inboundProperties['password']]#smtp.gmail.com"
responseTimeout="10000" doc:name="Send notification email" />
</pass-through-router>
</outbound>
</service>
<smtp:gmail-connector name="smtpGmailConnector"
contentType="text/html" fromAddress="iip.claims.test#gmail.com"
replyToAddresses="iip.claims.test#gmail.com" >
<smtp:header key="foo" value="bar" />
<smtp:header key="baz" value="boz" />
</smtp:gmail-connector>
But after this I am getting below error:
Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath*:/myApp-component-config/component-config.xml]
Offending resource: mule-bootstrap-config.xml; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath*:/myApp-integration-config/tool-mule-bootstrap-config.xml]
Offending resource: URL [vfs:/D:/Software/JBoss/jboss-eap-7.2/standalone/deployments/myApp.war/WEB-INF/lib/tool-intrg.jar/myApp-component-config/component-config.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath*:/myApp-integration-config/tool-intrg-flows.xml]
Offending resource: URL [vfs:/D:/Software/JBoss/jboss-eap-7.2/standalone/deployments/myApp.war/WEB-INF/lib/tool-intrg.jar/myApp-integration-config/tool-mule-bootstrap-config.xml]; nested exception is org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 91 in XML document from URL [vfs:/D:/Software/JBoss/jboss-eap-7.2/standalone/deployments/myApp.war/WEB-INF/lib/tool-intrg.jar/myApp-integration-config/tool-intrg-flows.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 91; columnNumber: 67; The prefix "doc" for attribute "doc:name" associated with an element type "smtp:outbound-endpoint" is not bound.
at deployment.myApp.war//org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:70)
at deployment.myApp.war//org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at deployment.myApp.war//org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)
at deployment.myApp.war//org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:235)
Any help will be appreciated.
There are many details missing however on rereading the issue I suspect you are not following the deprecated syntax <service> correctly by trying to use a current example. Since that syntax has been deprecated for 6+ years, I would advice to move to the more current <flow> definitions.
In case you are unable or unwilling to migrate, you need to define an endpoint outside the service and reference it you could try the following steps:
Ensure that the namespaces at the beginning of the file are correct. The error mentions that doc: is not recognized. Maybe the namespaces are outdated.
Ensure that the dependencies in the pom reference your Mule 3.9.x release and not an older version that may not define doc.
Try moving <smtp:outbound-endpoint> to a separate endpoint definition and reference it from the <pass-through-router> as in your original implementation.
Example:
<service name="tool.muleservice.emailServiceintegration">
<inbound>
<inbound-endpoint ref="tool.endpoint.emailNotification"/>
</inbound>
<outbound>
<pass-through-router>
<outbound-endpoint ref="tool.smtp.endpoint.gmailNotification"/>
</pass-through-router>
</outbound>
</service>
<smtps:endpoint name="tool.smtp.endpoint.gmailNotification"
connector-ref="smtpGmailConnector"
subject="test msg"
address="smtps://#[message.inboundProperties['userName']]:#[message.inboundProperties['password']]#smtp.gmail.com"
responseTimeout="10000" doc:name="Send notification email" >
</smtps:endpoint>
<smtp:gmail-connector name="smtpGmailConnector"
contentType="text/html" fromAddress="iip.claims.test#gmail.com"
replyToAddresses="iip.claims.test#gmail.com" >
<smtp:header key="foo" value="bar" />
<smtp:header key="baz" value="boz" />
</smtp:gmail-connector>
Finally if everything else fails you could try removing the doc:name attribute and see what happens.

How to do deep traversals with FindItem queries

I am sending the following XML query to EWS using the Office.context.mailbox.makeEwsRequestAsync method. It works as long as Traversal is set to "Shallow". I get a "The request is invalid" error when I set Traversal to "Deep".
How do I recursively search subfolders if I can't do deep searches?
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2013_SP1" />
</soap:Header>
<soap:Body>
<m:FindItem Traversal="Shallow">
<m:ItemShape>
<t:BaseShape>AllProperties</t:BaseShape>
</m:ItemShape>
<m:IndexedPageItemView MaxEntriesReturned="10" Offset="0" BasePoint="Beginning" />
<m:Restriction>
<t:Contains ContainmentMode="FullString" ContainmentComparison="IgnoreCase">
<t:FieldURI FieldURI="item:Categories" />
<t:Constant Value="MyCategory" />
</t:Contains>
</m:Restriction>
<m:ParentFolderIds>
<t:DistinguishedFolderId Id="inbox" />
<t:DistinguishedFolderId Id="sentitems" />
</m:ParentFolderIds>
</m:FindItem>
</soap:Body>
</soap:Envelope>
The FindItem EWS call does not support Traversal="Deep". See FindItem.
This is because the call will search for items in the folders specified in ParentFolderIds. In order to do a recursive search, you will need to get the list of folders to include in the search by using the FindFolder EWS Operation which supports Traversal="Deep" on non public folders. See FindFolder for additional documentation.

How to find whether an appointment exists by ApointmentId

I used Appointment.Bind() & pass in ApointmentId. If it exists it return all the details about the appointment, if not it doesn't throw any exception but gives some appointment object.
I want to how to figure out if appointment exists or not?
If the ID represents an item that's not there, you should get a ServiceResponseException with the message The specified object was not found in the store. The SOAP response looks like this:
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="1" MajorBuildNumber="207" MinorBuildNumber="19" Version="V2_47" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<m:GetItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:GetItemResponseMessage ResponseClass="Error">
<m:MessageText>The specified object was not found in the store.</m:MessageText>
<m:ResponseCode>ErrorItemNotFound</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Items />
</m:GetItemResponseMessage>
</m:ResponseMessages>
</m:GetItemResponse>
</s:Body>
</s:Envelope>

ExchangeEWS throws ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange when I'm trying to get an existing occurence by index

I have the strange situation:
I created recurring calendar event by Exchange web service using the request like this:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:mes="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:typ="http://schemas.microsoft.com/exchange/services/2006/types">
<soapenv:Header>
<typ:RequestServerVersion Version="Exchange2007_SP1"/>
<typ:ExchangeImpersonation>
<typ:ConnectingSID>
<typ:PrimarySmtpAddress>someuser#clab.local</typ:PrimarySmtpAddress>
</typ:ConnectingSID>
</typ:ExchangeImpersonation>
</soapenv:Header>
<soapenv:Body>
<mes:CreateItem MessageDisposition="SaveOnly" SendMeetingInvitations="SendToAllAndSaveCopy">
<mes:Items>
<typ:CalendarItem>
<typ:Subject>QC42135 test 3</typ:Subject>
<typ:Body BodyType="HTML"/>
<typ:Importance>Normal</typ:Importance>
<typ:ReminderIsSet>false</typ:ReminderIsSet>
<typ:Start>2014-07-25T04:00:00-05:00</typ:Start>
<typ:End>2014-07-25T05:00:00-05:00</typ:End>
<typ:Location/>
<typ:IsResponseRequested>false</typ:IsResponseRequested>
<typ:RequiredAttendees>
<typ:Attendee>
<typ:Mailbox>
<typ:EmailAddress>user1#clab.local</typ:EmailAddress>
</typ:Mailbox>
</typ:Attendee>
</typ:RequiredAttendees>
<typ:Recurrence>
<typ:WeeklyRecurrence>
<typ:Interval>2</typ:Interval>
<typ:DaysOfWeek>Wednesday Thursday Friday Saturday Sunday</typ:DaysOfWeek>
</typ:WeeklyRecurrence>
<typ:EndDateRecurrence>
<typ:StartDate>2014-07-20</typ:StartDate>
<typ:EndDate>2014-07-30</typ:EndDate>
</typ:EndDateRecurrence>
</typ:Recurrence>
<typ:MeetingTimeZone TimeZoneName="FLE Standard Time"/>
</typ:CalendarItem>
</mes:Items>
</mes:CreateItem>
</soapenv:Body>
</soapenv:Envelope>
Series of occurences were successfully created:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<t:ServerVersionInfo MajorVersion="8" MinorVersion="3" MajorBuildNumber="348" MinorBuildNumber="2" Version="Exchange2007_SP1" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"/>
</soap:Header>
<soap:Body>
<m:CreateItemResponse xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
<m:ResponseMessages>
<m:CreateItemResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Items>
<t:CalendarItem>
<t:ItemId Id="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj"/>
</t:CalendarItem>
</m:Items>
</m:CreateItemResponseMessage>
</m:ResponseMessages>
</m:CreateItemResponse>
</soap:Body>
</soap:Envelope>
But when I'm trying to get occurrences of the event
by index right after creation I'm able to get only first occurrence. For the others I receive ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange.
Here is GetItem request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:mes="http://schemas.microsoft.com/exchange/services/2006/messages">
<soapenv:Header><typ:RequestServerVersion Version="Exchange2007_SP1"/>
<typ:ExchangeImpersonation>
<typ:ConnectingSID>
<typ:PrimarySmtpAddress>someuser#clab.local</typ:PrimarySmtpAddress>
</typ:ConnectingSID>
</typ:ExchangeImpersonation>
</soapenv:Header>
<soapenv:Body>
<mes:GetItem>
<mes:ItemShape>
<typ:BaseShape>IdOnly</typ:BaseShape>
</mes:ItemShape>
<mes:ItemIds>
<typ:OccurrenceItemId RecurringMasterId="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj" InstanceIndex="1" />
<typ:OccurrenceItemId RecurringMasterId="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj" InstanceIndex="2" />
<typ:OccurrenceItemId RecurringMasterId="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj" InstanceIndex="3" />
<typ:OccurrenceItemId RecurringMasterId="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj" InstanceIndex="4" />
<typ:OccurrenceItemId RecurringMasterId="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj" InstanceIndex="5" />
</mes:ItemIds>
</mes:GetItem>
</soapenv:Body>
</soapenv:Envelope>
And response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<t:ServerVersionInfo MajorVersion="8" MinorVersion="3" MajorBuildNumber="348" MinorBuildNumber="2" Version="Exchange2007_SP1" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"/>
</soap:Header>
<soap:Body>
<m:GetItemResponse xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
<m:ResponseMessages>
<m:GetItemResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Items>
<t:CalendarItem>
<t:ItemId Id="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQFRAAiI0XGjJ/YgAEYAAAAAripPOeYZ80O4AzgZbQxXdQcAGtu3FPLpKEucj0bnlp9/GAAKGzR1PgAAGtu3FPLpKEucj0bnlp9/GABw6uawhgAAEA==" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj"/>
</t:CalendarItem>
</m:Items>
</m:GetItemResponseMessage>
<m:GetItemResponseMessage ResponseClass="Error">
<m:MessageText>Occurrence index is out of recurrence range.</m:MessageText>
<m:ResponseCode>ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Items/>
</m:GetItemResponseMessage>
<m:GetItemResponseMessage ResponseClass="Error">
<m:MessageText>Occurrence index is out of recurrence range.</m:MessageText>
<m:ResponseCode>ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Items/>
</m:GetItemResponseMessage>
<m:GetItemResponseMessage ResponseClass="Error">
<m:MessageText>Occurrence index is out of recurrence range.</m:MessageText>
<m:ResponseCode>ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Items/>
</m:GetItemResponseMessage>
<m:GetItemResponseMessage ResponseClass="Error">
<m:MessageText>Occurrence index is out of recurrence range.</m:MessageText>
<m:ResponseCode>ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Items/>
</m:GetItemResponseMessage>
</m:ResponseMessages>
</m:GetItemResponse>
</soap:Body>
</soap:Envelope>
I found the description of recurring event on Microsoft site http://msdn.microsoft.com/en-us/library/office/dd633684%28v=exchg.80%29.aspx
and according the documentation when a recurring series is created, each occurrence item has as index that represents its position in the series.
The index starts at one and advances by one for each item in the series. But it seems to be incorrect.
In my case obviously occurrences are indexed in different way.
Can anyone explain how Exchange indexes occurrences? How can I get certain occurrence in the series?

EWS The required attribute 'Traversal' is missing

I have a problem whit EWS (Exchange Webservice)
I send an request for FindFolders
<?xml version="1.0"?>
<soap12:Envelope xmlns:soap12="http://schemas.xmlsoap.org/soap/envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:M="http://schemas.microsoft.com/exchange/services/2006/messages" soap12:encodingStyle="http://www.w3.org/2003/05/soap-encoding" xmlns:T="http://schemas.microsoft.com/exchange/services/2006/types">
<soap12:Body>
<M:FindFolder>
<request SOAP-ENC:id="1" xsi:type="M:FindFolder" Traversal="Deep">
<FolderShape xsi:nil="true"/>
<IndexedPageFolderView SOAP-ENC:id="2" xsi:type="T:IndexedPageViewType" Offset="0" BasePoint="Beginning"/>
<ParentFolderIds xsi:nil="true"/>
</request>
<Impersonation xsi:nil="true"/>
<S2SAuth xsi:nil="true"/>
<MailboxCulture xsi:type="xsd:string">de-DE</MailboxCulture>
<RequestVersion SOAP-ENC:id="3" xsi:type="T:RequestServerVersion" Version="Exchange2007_SP1"/>
</M:FindFolder>
</soap12:Body>
</soap12:Envelope>
and get following xml from server
<?xml version="1.0"?>
<soap11:Envelope xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/">
<soap11:Header>
<t:ServerVersionInfo MajorVersion="8" MinorVersion="3" MajorBuildNumber="245" MinorBuildNumber="0" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap11:Header>
<soap11:Body>
<soap11:Fault>
<faultcode>soap11:Client</faultcode>
<faultstring>The request failed schema validation: The required attribute 'Traversal' is missing.</faultstring>
<detail>
<e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorSchemaValidation</e:ResponseCode>
<e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">
The required attribute 'Traversal' is missing.
</e:Message>
<e:Line xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">2
</e:Line>
<e:Position xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">446
</e:Position>
</detail>
</soap11:Fault>
</soap11:Body>
</soap11:Envelope>
So why the Server say that Traversal is missing ?
(I also have tested it with the T:Traversal = Deep T: for the namespaceentry for the types)
Can someone can help me with this problem?
Traversal is required on the FindFolder element. Try changing it from...
<M:FindFolder>
<!-- ... -->
To this...
<M:FindFolder Traversal="Deep">
<!-- ... -->
The Traversal attribute must adhere to the following XSD schema:
<simpleType name="FolderQueryTraversalType">
<restriction base="{http://www.w3.org/2001/XMLSchema}string">
<enumeration value="Shallow"/>
<enumeration value="Deep"/>
<enumeration value="SoftDeleted"/>
</restriction>
</simpleType>
i have tryed following constellations
<M:FindFolder M:Traversal="DEEP>
The request failed schema validation: The 'http://schemas.microsoft.com/exchange/services/2006/messages:Traversal' attribute is not declared.
<M:FindFolder T:Traversal="DEEP>
The request failed schema validation: The 'http://schemas.microsoft.com/exchange/services/2006/types:Traversal' attribute is not declared.
<M:FindFolder Traversal="DEEP">
The request failed schema validation: The 'Traversal' attribute is invalid - The value 'DEEP' is invalid according to its datatype 'http://schemas.microsoft.com/exchange/services/2006/types:FolderQueryTraversalType' - The Enumeration constraint failed.