troubleshooting Question

Accessing user created Exchange 2011 calendars through Exchange Web Services (SOAP)

Avatar of Anglian Learning Technical Services
Anglian Learning Technical Services asked on
ExchangeWCF
6 Comments1 Solution1203 ViewsLast Modified:
Hi,

I am trying to access a calendar hosted by Microsoft Exchange 2007 through Exchange Web Services.  To build up the SOAP request, I am using a class based on the work done here:

http://www.howtoforge.com/talking-soap-with-exchange

The PHP is all functioning exactly as expected, so this is not a PHP question.  Indeed, I am able to access the default user calender perfectly, by using the following construction:

---
$FindItem->Traversal = "Shallow";
$FindItem->ItemShape->BaseShape = "AllProperties";
$FindItem->ParentFolderIds->DistinguishedFolderId->Mailbox->EmailAddress = "user@domain.com";
$FindItem->ParentFolderIds->DistinguishedFolderId->Id = "calendar";
$result = $client->FindItem($FindItem);
---

However, the target I really want to access is not the default user calendar (using the special 'calendar' identifier), but an additional user created calendar (several, in fact).  This is the sort you can make in Outlook when you create a new folder of type calendar.

Doing this for user created mail folders is straight forward, as one can obtain an Id and ChangeKey from a FindFolder operation and plug it into the FindItem call, as below.

---
$FindItem->ParentFolderIds->FolderId->Id = "id_from_FindFolder_result"
$FindItem->ParentFolderIds->FolderId->ChangeKey = "ChangeKey_from_FindFolder_result"
---

If you run the FindFolder operation at root level (Top of Information Store), using Traversal = 'Deep', an exhaustive list of all mail folders will appear (and Notes too), but no calendar folders.

My question is...  How do I construct a FindFolder operation to include calendar folders?  As mentioned earlier, addressing the default user calendar is easy, what with the reserved Ids available, laid out by Microsoft at the links below.  I dare say I could address these calendars with FindItem, but need FindFolder to obtain the Id and ChangeKey to plug into it.

http://msdn.microsoft.com/en-us/library/aa563918(v=exchg.80).aspx

http://msdn.microsoft.com/en-us/library/aa580808(v=exchg.80).aspx


Any help would be most appreciated.  Do ask questions if I've not been clear enough.


Best wishes,

Richard
ASKER CERTIFIED SOLUTION
LeeDerbyshire

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 6 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 6 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros