Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
platform
active.directory
adsi
adsi.iis-admin
base
com_ole
complus_mts
component_svcs
database
directx
gdi
graphics_mm
internet.client
internet.server
internet.server.isapi-dev
localization
mapi
messaging
msi
mslayerforunicode
multimedia
networking
networking.ipv6
sdk_install
security
shell
telephony.tapi_2
telephony.tapi_3
telephony.tsp
telephony.wte
tools
ui
ui_shell
win_base_svcs
win16
  
 
date: Wed, 17 Jan 2007 00:14:51 +0100,    group: microsoft.public.platformsdk.messaging        back       


WebDAV "409 (Conflict)" when creating calendar items   
Hello

We have a dedicated account which has access to the calendars of several 
mailboxes. We are using this delegated account to create calendar items via 
WebDAV within those mailboxes. Unfortunately WebDAV often answers with "409 
(Conflict)" and does not write anything to the mailbox (after sending a 
propatch command).

We have no idea how we could solve this problem. We don't even know what 
kind of conflict occurred. Maybe someone of you could point us to the right 
direction.

- Could this be a permission problem (maybe it's not possible to use such a 
dedicated account to write into the calendar of other mailboxes)?
- Could the mailboxes be corrupt somehow or is there something wrong with 
the exchange configuration?
- Could another process lock the calendar?
- Could the conflict occur because the items we try to write have wrong or 
contradictory data? (if yes, how can we find out which one?)

Another phenomenon which often appears is that the calendar item is visibile 
in Outlook WebAccess but not in Outlook. If you open these items and save 
them without changing anything, then they also appear in Outlook. I don't 
know if this is a completely different problem or if both these problems 
relate to eachother.

Any ideas?

Thanks a lot in advance.
Kind regards
date: Wed, 17 Jan 2007 00:14:51 +0100   author:   style !

This should fix your meetings not showing up   
I'm having the same issue as you right now with the 409 status coming back sometimes but I haven't figured out a solution yet.

The other phenomenon is probably because you're not setting all the correct properties when you do a PROPPATCH to create the calendar item.  It can happen the other way too--something shows in Outlook but not OWA.  When you open the item and save it without changing anything, the code in Outlook or OWA fills in all the properties you need.

Here's the XML I'm using, items seem to show up in both Outlook and OWA every time.  If I had to guess, I'd say you're not setting the timezone property.  I seem to remember reading about somebody having problems getting appointments to show up and that was the problem.  The value I have in there is for CST, but you can google for the full list of values.

<?xml version="1.0"?>
<g:propertyupdate xmlns:g="DAV:" xmlns:e="http://schemas.microsoft.com/exchange/" xmlns:mapi="http://schemas.microsoft.com/mapi/" xmlns:mapit="http://schemas.microsoft.com/mapi/proptag/" xmlns:x="xml:" xmlns:cal="urn:schemas:calendar:" xmlns:dt="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:header="urn:schemas:mailheader:" xmlns:mail="urn:schemas:httpmail:">
   <g:set>
       <g:prop>
           <g:contentclass>urn:content-classes:appointment</g:contentclass>
           <e:outlookmessageclass>IPM.Appointment</e:outlookmessageclass>
           <mail:subject>Meeting Subject</mail:subject>
           <mail:htmldescription>Meeting Body Text</mail:htmldescription>
           <cal:location>My Conference Room</cal:location>
           <cal:dtstart dt:dt="dateTime.tz">1/31/2007 08:00:00.0000TZ</cal:dtstart>
           <cal:dtend dt:dt="dateTime.tz">1/31/2007 09:00:00.0000TZ</cal:dtend>
           <cal:instancetype dt:dt="int">0</cal:instancetype>
           <cal:busystatus>BUSY</cal:busystatus>
           <cal:meetingstatus>CONFIRMED</cal:meetingstatus>
           <cal:alldayevent dt:dt="boolean">0</cal:alldayevent>
           <cal:responserequested dt:dt="boolean">1</cal:responserequested>
           <cal:timezoneid dt:dt="int">11</cal:timezoneid>
           <cal:dtstamp dt:dt="dateTime.tz">1/30/2007 16:00:00.0000TZ</cal:dtstamp>
           <header:to>requiredattendee@mycompany.com</header:to>
           <header:cc>optionalattendee@mycompany.com</header:cc>
           <header:bcc>meetingresource@mycompany.com</header:bcc>
           <mapi:finvited dt:dt="boolean">1</mapi:finvited>
       </g:prop>
   </g:set>
</g:propertyupdate>

EggHeadCafe.com - .NET Developer Portal of Choice 
http://www.eggheadcafe.com
date: Wed, 31 Jan 2007 08:10:52 -0800   author:   Dave Alvarado

And now for the XML...   
Let's see if this works...

<?xml version="1.0"?>
<g:propertyupdate xmlns:g="DAV:" xmlns:e="http://schemas.microsoft.com/exchange/" xmlns:mapi="http://schemas.microsoft.com/mapi/" xmlns:mapit="http://schemas.microsoft.com/mapi/proptag/" xmlns:x="xml:" xmlns:cal="urn:schemas:calendar:" xmlns:dt="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:header="urn:schemas:mailheader:" xmlns:mail="urn:schemas:httpmail:">
   <g:set>
       <g:prop>
           <g:contentclass>urn:content-classes:appointment</g:contentclass>
           <e:outlookmessageclass>IPM.Appointment</e:outlookmessageclass>
           <mail:subject>Meeting Subject</mail:subject>
           <mail:htmldescription>Meeting Body Text</mail:htmldescription>
           <cal:location>My Conference Room</cal:location>
           <cal:dtstart dt:dt="dateTime.tz">1/31/2007 08:00:00.0000TZ</cal:dtstart>
           <cal:dtend dt:dt="dateTime.tz">1/31/2007 09:00:00.0000TZ</cal:dtend>
           <cal:instancetype dt:dt="int">0</cal:instancetype>
           <cal:busystatus>BUSY</cal:busystatus>
           <cal:meetingstatus>CONFIRMED</cal:meetingstatus>
           <cal:alldayevent dt:dt="boolean">0</cal:alldayevent>
           <cal:responserequested dt:dt="boolean">1</cal:responserequested>
           <cal:timezoneid dt:dt="int">11</cal:timezoneid>
           <cal:dtstamp dt:dt="dateTime.tz">1/30/2007 16:00:00.0000TZ</cal:dtstamp>
           <header:to>requiredattendee@mycompany.com</header:to>
           <header:cc>optionalattendee@mycompany.com</header:cc>
           <header:bcc>meetingresource@mycompany.com</header:bcc>
           <mapi:finvited dt:dt="boolean">1</mapi:finvited>
       </g:prop>
   </g:set>
</g:propertyupdate>

EggHeadCafe.com - .NET Developer Portal of Choice 
http://www.eggheadcafe.com
date: Wed, 31 Jan 2007 08:12:08 -0800   author:   Dave Alvarado

Re: And now for the XML...   
Hello

Thank you for your answers. We figured out that these problems were caused 
by the reminder sound property in our case. If we don't set that property, 
the error doesn't occur anymore. Maybe this happens if the stated sound file 
does not exist.

Kind regards
date: Wed, 31 Jan 2007 22:55:24 +0100   author:   style !

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us