Hi, This use to work, and now well it dosn't. I have been playing with it all day today to try and figure it out but no love. here is the code i use: var myxml = ""; var xmlheader=""; var xmlCALvar=""; var strCalInfo=""; var strHeaderInfo=""; var strMailInfo=""; var strApptRequest=""; xmlheader = "xmlns:g=\"DAV:\" "; xmlheader += "xmlns:e=\"http://schemas.microsoft.com/exchange/\" "; xmlheader += "xmlns:mapi=\"http://schemas.microsoft.com/mapi/\" " ; xmlheader += "xmlns:mapit=\"http://schemas.microsoft.com/mapi/id/{00062002-0000-0000-C000-000000000046}/\" " ; xmlheader += "xmlns:x=\"xml:\" xmlns:cal=\"urn:schemas:calendar:\" " ; xmlheader += "xmlns:dt=\"urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/\" " ; xmlheader += "xmlns:header=\"urn:schemas:mailheader:\" " ; xmlheader += "xmlns:mail=\"urn:schemas:httpmail:\">"; strCalInfo = "<cal:location>my place</cal:location>" ; strCalInfo += "<cal:dtstart dt:dt=\"dateTime.tz\">sometime value here</cal:dtstart>" ; strCalInfo += "<cal:dtend dt:dt=\"dateTime.tz\">sometime value here</cal:dtend>" ; strCalInfo += "<cal:instancetype dt:dt=\"int\">0</cal:instancetype>" ; strCalInfo += "<cal:busystatus>BUSY</cal:busystatus>" ; strCalInfo += "<cal:meetingstatus>CONFIRMED</cal:meetingstatus>" ; strCalInfo += "<cal:alldayevent dt:dt=\"boolean\">1</cal:alldayevent>" ; strCalInfo += "<cal:responserequested dt:dt=\"boolean\">0</cal:responserequested>" ; strCalInfo += "<cal:reminderoffset dt:dt=\"int\">900</cal:reminderoffset>" ; strHeaderInfo = "<header:to>myemail</header:to>" ; strMailInfo = "<mail:subject>My Subject</mail:subject>" ; strMailInfo += "<mail:htmldescription>Notes</mail:htmldescription>" ; strApptRequest = "<?xml version=\"1.0\"?>" ; strApptRequest += "<g:propertyupdate " + xmlheader + "<g:set><g:prop>" ; strApptRequest += "<g:contentclass>urn:content-classes:appointment</g:contentclass>" ; strApptRequest += "<e:outlookmessageclass>IPM.Appointment</e:outlookmessageclass>" ; strApptRequest += strMailInfo + strCalInfo + strHeaderInfo ; strApptRequest += "<mapi:finvited dt:dt=\"boolean\">0</mapi:finvited>" ; strApptRequest += "<mapi:apptstateflags dt:dt=\"int\">0</mapi:apptstateflags>"; strApptRequest += "<mapit:_x0030_x8214 dt:dt=\"int\"><cfoutput>#ilabel#</cfoutput></mapit:_x0030_x8214>" ; strApptRequest += "</g:prop></g:set></g:propertyupdate>"; var XMLreq = new ActiveXObject("Microsoft.XMLHTTP"); XMLreq.open("PROPPATCH", uri , false); XMLreq.setRequestHeader("Content-Type", "text/xml;"); XMLreq.setRequestHeader("Translate", "f"); XMLreq.send(strApptRequest);
Outlook uses the Start and End times to work if an appointment is an allday event or not For Outlook to determine a appointment as a allday event it needs to start and end at 12:00 AM (a day apart) in the timezone its in(eg if you change the timezone then Outlook no longer see's this as a all dayevent). So you need to work out what the time offset for your timezone is and covert and datetime accordingly. An easy way to do this is create an all day event in Outlook and then use Exchange explorer to look at the properties for start and endtime for that appointment Cheers Glen "NiceTim" wrote in message news:F49C690B-872C-4DCE-9A03-BB4C6897FB55@microsoft.com... > Hi, > This use to work, and now well it dosn't. > I have been playing with it all day today to try and figure it out but no > love. > > here is the code i use: > > var myxml = ""; > var xmlheader=""; > var xmlCALvar=""; > var strCalInfo=""; > var strHeaderInfo=""; > var strMailInfo=""; > var strApptRequest=""; > xmlheader = "xmlns:g=\"DAV:\" "; > xmlheader += "xmlns:e=\"http://schemas.microsoft.com/exchange/\" "; > xmlheader += "xmlns:mapi=\"http://schemas.microsoft.com/mapi/\" " ; > xmlheader += > "xmlns:mapit=\"http://schemas.microsoft.com/mapi/id/{00062002-0000-0000-C000-000000000046}/\" > " ; > xmlheader += "xmlns:x=\"xml:\" xmlns:cal=\"urn:schemas:calendar:\" " ; > xmlheader += "xmlns:dt=\"urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/\" > " ; > xmlheader += "xmlns:header=\"urn:schemas:mailheader:\" " ; > xmlheader += "xmlns:mail=\"urn:schemas:httpmail:\">"; > > strCalInfo = "<cal:location>my place</cal:location>" ; > strCalInfo += "<cal:dtstart dt:dt=\"dateTime.tz\">sometime value > here</cal:dtstart>" ; > strCalInfo += "<cal:dtend dt:dt=\"dateTime.tz\">sometime value > here</cal:dtend>" ; > strCalInfo += "<cal:instancetype dt:dt=\"int\">0</cal:instancetype>" ; > strCalInfo += "<cal:busystatus>BUSY</cal:busystatus>" ; > strCalInfo += "<cal:meetingstatus>CONFIRMED</cal:meetingstatus>" ; > strCalInfo += "<cal:alldayevent dt:dt=\"boolean\">1</cal:alldayevent>" ; > strCalInfo += "<cal:responserequested > dt:dt=\"boolean\">0</cal:responserequested>" ; > strCalInfo += "<cal:reminderoffset dt:dt=\"int\">900</cal:reminderoffset>" > ; > > strHeaderInfo = "<header:to>myemail</header:to>" ; > strMailInfo = "<mail:subject>My Subject</mail:subject>" ; > strMailInfo += "<mail:htmldescription>Notes</mail:htmldescription>" ; > > strApptRequest = "<?xml version=\"1.0\"?>" ; > strApptRequest += "<g:propertyupdate " + xmlheader + "<g:set><g:prop>" ; > strApptRequest += > "<g:contentclass>urn:content-classes:appointment</g:contentclass>" ; > strApptRequest += > "<e:outlookmessageclass>IPM.Appointment</e:outlookmessageclass>" ; > strApptRequest += strMailInfo + strCalInfo + strHeaderInfo ; > strApptRequest += "<mapi:finvited dt:dt=\"boolean\">0</mapi:finvited>" ; > strApptRequest += "<mapi:apptstateflags > dt:dt=\"int\">0</mapi:apptstateflags>"; > strApptRequest += "<mapit:_x0030_x8214 > dt:dt=\"int\"><cfoutput>#ilabel#</cfoutput></mapit:_x0030_x8214>" ; > strApptRequest += "</g:prop></g:set></g:propertyupdate>"; > > > var XMLreq = new ActiveXObject("Microsoft.XMLHTTP"); > XMLreq.open("PROPPATCH", uri , false); > XMLreq.setRequestHeader("Content-Type", "text/xml;"); > XMLreq.setRequestHeader("Translate", "f"); > > XMLreq.send(strApptRequest);
Glen, Ill give that a shot. When i first started down this road you were the one that got me started in the right direction, and now have again helped me out. Thanks again Tim "Glen Scales [MVP]" wrote: > Outlook uses the Start and End times to work if an appointment is an allday > event or not For Outlook to determine a appointment as a allday > event it needs to start and end at 12:00 AM (a day apart) in the timezone > its in(eg if you change the timezone then Outlook no longer see's this as a > all dayevent). So you need to work out what the time offset for your > timezone is and covert and datetime accordingly. An easy way to do this is > create an all day event in Outlook and then use Exchange explorer to look at > the properties for start and endtime for that appointment > > Cheers > Glen > > > "NiceTim" wrote in message > news:F49C690B-872C-4DCE-9A03-BB4C6897FB55@microsoft.com... > > Hi, > > This use to work, and now well it dosn't. > > I have been playing with it all day today to try and figure it out but no > > love. > > > > here is the code i use: > > > > var myxml = ""; > > var xmlheader=""; > > var xmlCALvar=""; > > var strCalInfo=""; > > var strHeaderInfo=""; > > var strMailInfo=""; > > var strApptRequest=""; > > xmlheader = "xmlns:g=\"DAV:\" "; > > xmlheader += "xmlns:e=\"http://schemas.microsoft.com/exchange/\" "; > > xmlheader += "xmlns:mapi=\"http://schemas.microsoft.com/mapi/\" " ; > > xmlheader += > > "xmlns:mapit=\"http://schemas.microsoft.com/mapi/id/{00062002-0000-0000-C000-000000000046}/\" > > " ; > > xmlheader += "xmlns:x=\"xml:\" xmlns:cal=\"urn:schemas:calendar:\" " ; > > xmlheader += "xmlns:dt=\"urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/\" > > " ; > > xmlheader += "xmlns:header=\"urn:schemas:mailheader:\" " ; > > xmlheader += "xmlns:mail=\"urn:schemas:httpmail:\">"; > > > > strCalInfo = "<cal:location>my place</cal:location>" ; > > strCalInfo += "<cal:dtstart dt:dt=\"dateTime.tz\">sometime value > > here</cal:dtstart>" ; > > strCalInfo += "<cal:dtend dt:dt=\"dateTime.tz\">sometime value > > here</cal:dtend>" ; > > strCalInfo += "<cal:instancetype dt:dt=\"int\">0</cal:instancetype>" ; > > strCalInfo += "<cal:busystatus>BUSY</cal:busystatus>" ; > > strCalInfo += "<cal:meetingstatus>CONFIRMED</cal:meetingstatus>" ; > > strCalInfo += "<cal:alldayevent dt:dt=\"boolean\">1</cal:alldayevent>" ; > > strCalInfo += "<cal:responserequested > > dt:dt=\"boolean\">0</cal:responserequested>" ; > > strCalInfo += "<cal:reminderoffset dt:dt=\"int\">900</cal:reminderoffset>" > > ; > > > > strHeaderInfo = "<header:to>myemail</header:to>" ; > > strMailInfo = "<mail:subject>My Subject</mail:subject>" ; > > strMailInfo += "<mail:htmldescription>Notes</mail:htmldescription>" ; > > > > strApptRequest = "<?xml version=\"1.0\"?>" ; > > strApptRequest += "<g:propertyupdate " + xmlheader + "<g:set><g:prop>" ; > > strApptRequest += > > "<g:contentclass>urn:content-classes:appointment</g:contentclass>" ; > > strApptRequest += > > "<e:outlookmessageclass>IPM.Appointment</e:outlookmessageclass>" ; > > strApptRequest += strMailInfo + strCalInfo + strHeaderInfo ; > > strApptRequest += "<mapi:finvited dt:dt=\"boolean\">0</mapi:finvited>" ; > > strApptRequest += "<mapi:apptstateflags > > dt:dt=\"int\">0</mapi:apptstateflags>"; > > strApptRequest += "<mapit:_x0030_x8214 > > dt:dt=\"int\"><cfoutput>#ilabel#</cfoutput></mapit:_x0030_x8214>" ; > > strApptRequest += "</g:prop></g:set></g:propertyupdate>"; > > > > > > var XMLreq = new ActiveXObject("Microsoft.XMLHTTP"); > > XMLreq.open("PROPPATCH", uri , false); > > XMLreq.setRequestHeader("Content-Type", "text/xml;"); > > XMLreq.setRequestHeader("Translate", "f"); > > > > XMLreq.send(strApptRequest); > > >