Le Café Central de
Deva             


                    ... Deva blogs!!



  • Le Café Central de DeVa

    EWS GetItem() call fail to return recurrence-id for meetings created/modified using Outlook 2003 & Exchange 2010

    • 1 Comments

    One of my customers reported an issue while they were reading a recurrence calendar with exceptions using Exchange Web Service (EWS) API. Their EWS application uses EWS WSDL to generate stub and uses that to access the server to read the calendar items from Exchange Server 2010.  As part of the business logic, they read exception instance of a recurring meeting to access the recurrence-id using GetItem() call, but the Recurrence-ID was not returned under this scenario:

    <t:CalendarItem>
    
      <t:ItemId Id="AAMkAGJmODU0Y2RkLTMzNWQtNDU0Zi04ZTRmLWZkYmY3NjMzMmY5NwBGAAAAAAAYgD84Mql7RaeCH1aLb3byBwBsPRpqddOASYFOcLJOFXFtAAAABxwqAABsPRpqddOASYFOcLJOFXFtAAABQSkXAAA=" ChangeKey="DwAAABYAAABsPRpqddOASYFOcLJOFXFtAAABQgc0"/>
    
      <t:ItemClass>IPM.Appointment</t:ItemClass>
    
      <t:Subject>Test Meeting</t:Subject>
    
      <t:UID>040000008200E00074C5B7101A82E0080000000020F44873F666CB010000000000000000100000004912C9B37286374CBFC74B4EC1030D74</t:UID>
    
      <t:Start>2011-02-07T15:30:00Z</t:Start>
    
      <t:End>2011-02-07T16:00:00Z</t:End>
    
      <t:IsCancelled>false</t:IsCancelled>
    
      <t:IsRecurring>true</t:IsRecurring>
    
      <t:CalendarItemType>Single</t:CalendarItemType>
    
      <t:MyResponseType>Accept</t:MyResponseType>
    
      <t:Organizer>
    
      <t:Mailbox>
    
      <t:Name>Contoso, Small</t:Name>
    
      <t:EmailAddress> small@contoso.com </t:EmailAddress> 
    
      <t:RoutingType>SMTP</t:RoutingType>
    
      </t:Mailbox>
    
      </t:Organizer>
    
      <t:TimeZone>GMT -0600 (Standard) / GMT -0500 (Daylight)</t:TimeZone>
    
    </t:CalendarItem>
    

    When we analyzed the issue happens only with meetings created/modified using Outlook 2003 SP3 clients. The same issue doesn’t occur not with Outlook 2007 & 2010 clients. Due to this issue, their application logic was broken. We tried using FindItem() call, instead of GetItem() but it didn’t make any difference. As part of troubleshooting we noticed that the recurrence-id doesn’t available in the GetItem() response XML; but using the MimeContent, we can parse it manually, look for recurrence-id and can overcome this issue.

    foreach (Item it in fiResults.Items)
    
    {
    
    it.Load(new PropertySet(BasePropertySet.FirstClassProperties){ItemSchema.MimeContent});          
    
    MimeContent mc = it.MimeContent;
    
    //Your application logic goes here: Parse the above MimeContent & look for recurrence-id
    
    }
    

    But this turned out not a feasible solution for them as it might be much dependent on Mime encoding type being used as well as the format of recurrence-id is different from what they get as part of GetItem() response. Apart from this, I don’t see any fix/design change/new feature request for Outlook 2003, which is already in extended support.

  • Le Café Central de DeVa

    Outlook 2007: How to ‘quickly’ disable add-ins?

    • 3 Comments

    Try the following steps to disable add-ins in Outlook 2007 (it also applies to InfoPath 2007, Project 2007 and Visio 2007)

    1. On the Tools menu, click Trust Center.

    2. In the categories pane, click Macro Security.

    3. In the details pane, select No Warnings and Disable All Macros or Warnings for signed macros; all unsigned macros are disabled.

    4. In the categories pane, click Add-ins.

    5. In the details pane, select Apply macro security settings to installed add-ins

    Enjoy Smile

  • Le Café Central de DeVa

    Download: Microsoft Online Services Migration Tools

    • 0 Comments

    The Microsoft Online Services Migration Tools is used to support migration of Microsoft Exchange to Microsoft Online Services. You can use the Microsoft Online Services Migration Tools to forward copies of your Exchange Server mail to your Exchange Online mailboxes. You can also use the Migration Tools to copy content from your Exchange Server, POP3, or IMAP4 e-mail server mailboxes to your Exchange Online mailboxes. This product intended for use with Microsoft Online Services only.

    You can download Microsoft Online Services Migration tools (32-bit | 64-bit).

  • Le Café Central de DeVa

    Outlook Programming: How to retrieve unread messages from any Outlook folder?

    • 1 Comments
    Recently one of my customer updated that he got a requirement to programmatically retrieve unread messages from any Outlook folder to be implemented part of his application. We tried the following steps -  Will show you how you can programmatically retrieve unread messages from any Outlook folder using Outlook Object Model (OOM) API.

    Let we first have a look at the following code snippet (C#.Net):
    Outlook.MAPIFolder Fldr = this.Application.ActiveExplorer().Session.GetDefaultFolder
    
            _(Outlook.OlDefaultFolders.olFolderInbox);
    
    Outlook.Items UnReads = Fldr.Items.Restrict("[Unread]=true");
    
    MessageBox.Show(string.Format("Unread items in Inbox = {0}", UnReads.Items.Count));
    

    Line # 1, we need to specify target Outlook folder that we need to read messages. Here I used Inbox.
    Line # 2, we need to filter target folder items using Restrict filter as Unread]=true to get unread items
    Line # 3, displaying the number of unread items.

    Please note: In order to retrieve unread messages from any Outlook folder, just point out the target folder in the Line # 1, instead of Inbox.

    Pretty simple isn’t it Winking smile

Page 1 of 1 (4 items)