Je l'ai fait dans un programme Java il y a quelques années, et la façon dont je l'ai fait était de mettre un document VCALENDAR dans le dossier. Une particularité est que le VCALENDAR devait être inclus dans un message RFC822. C'est une combinaison bizarre de WebDAV, email, et iCAL/VCAL, mais cela fonctionnait à l'époque sur Exchange 2003 hébergé chez Link2Exchange.
Je suis sûr qu'il y a un moyen plus facile, mais c'est ce qui a fonctionné pour moi. Ci-dessous, je montre une trace de paquet tcpdump de ce qui s'est passé. Vous devriez probablement utiliser ngrep/tcpdump sur votre propre client Outlook/Entourage pour voir ce qu'il fait.
Notez que "Cal2" est le nom de mon dossier de calendrier de test. Vous utiliseriez "Calendrier" pour le dossier du calendrier principal.
T 10.0.1.95:59741 -> 66.211.136.9:80 [AP]
PUT /exchange/yourname.domainname.com/Cal2/CC1.1163646061548.0.eml HTTP/1.1.
translate: f.
Content-Type: message/rfc822.
Pragma: no-cache.
Accept: */*.
Cache-Control: no-cache.
Authorization: Basic NOYOUCANTSEEMYPASSWORDYOUBASTARDS.
User-Agent: Jakarta Commons-HttpClient/2.0final.
Host: e1.exmx.net.
Cookie: sessionid=29486b50-d398-4f76-9604-8421950c7dcd:0x0.
Content-Length: 478.
Expect: 100-continue.
.
T 66.211.136.9:80 -> 10.0.1.95:59741 [AP]
HTTP/1.1 100 Continue.
.
T 10.0.1.95:59741 -> 66.211.136.9:80 [AP]
content-class: urn:content-classes:appointment.
Content-Type: text/calendar;.
.method=REQUEST;.
.charset="utf-8".
Content-Transfer-Encoding: 8bit.
.
BEGIN:VCALENDAR.
BEGIN:VEVENT.
UID:[email protected]+1382+1014+6+495066799.
SUMMARY:Voice Architecture Leads Meeting.
PRIORITY:5.
LOCATION:x44444 pc:6879.
DTSTART:20061122T193000Z.
DTEND:20061122T203000Z.
DTSTAMP:20061110T074856Z.
DESCRIPTION:this is a description.
SUMMARY:this is a summary.
END:VEVENT.
END:VCALENDAR.
T 66.211.136.9:80 -> 10.0.1.95:59741 [AP]
HTTP/1.1 201 Created.
Date: Thu, 16 Nov 2006 03:00:16 GMT.
Server: Microsoft-IIS/6.0.
X-Powered-By: ASP.NET.
MS-Exchange-Permanent-URL: http://e1.exmx.net/exchange/yourname.yourdomain.com/-FlatUrlSpace-/122cda661de1da48936f9
44bda4dde6e-3af8a8/122cda661de1da48936f944bda4dde6e-3f3383.
Location: http://e1.exmx.net/exchange/yourname.yourdomain.com/Cal2/CC1.1163646061548.0.eml.
Repl-UID: <rid:122cda661de1da48936f944bda4dde6e0000003f3383>.
Content-Type: text/html.
Content-Length: 110.
Allow: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, SUBSCRIBE, UNSUBSCRIBE, PO
LL, BDELETE, BCOPY, BMOVE, BPROPPATCH, BPROPFIND, LOCK, UNLOCK.
ResourceTag: <rt:122cda661de1da48936f944bda4dde6e0000003f3383122cda661de1da48936f944bda4dde6e0000003f4671>.
GetETag: "122cda661de1da48936f944bda4dde6e0000003f4671".
MS-WebStorage: 6.5.7638.
Cache-Control: no-cache.
.
T 66.211.136.9:80 -> 10.0.1.95:59741 [AP]
<body><h1>/exchange/yourname.yourdomain.com/Cal2/CC1.1163646061548.0.eml was created successfully</h1></body>.
Vous pouvez vérifier que cela a fonctionné en utilisant quelque chose comme Cadavre pour interroger les propriétés de l'objet via WebDAV comme ceci:
dav:/exchange/[email protected]/Cal2/> propget CC1.1163646061548.0.eml
Fetching properties for `CC1.1163646061548.0.eml':
textdescription = this is a description
contentclass = urn:content-classes:appointment
supportedlock = <lockentry><locktype><transaction><groupoperation></groupoperation></transaction></locktype><locks
cope><local></local></lockscope></lockentry>
permanenturl = http://e1.exmx.net/exchange/[email protected]/-FlatUrlSpace-/122cda661de1da48936f944bda4dde6e-
3af8a8/122cda661de1da48936f944bda4dde6e-3f3383
getcontenttype = message/rfc822
id = AQEAAAAAOvioAQAAAAA/M4MAAAAA
mid = -8992774761696198655
uid = [email protected]+1382+1014+6+495066799
isfolder = 0
resourcetype =
method = PUBLISH
getetag = "122cda661de1da48936f944bda4dde6e0000003f4671"
lockdiscovery =
outlookmessageclass = IPM.Appointment
creationdate = 2006-11-16T03:00:16.549Z
outlookmessageclass = IPM.Appointment
creationdate = 2006-11-16T03:00:16.549Z
ntsecuritydescriptor = CAAEAAAAAAABAC+MMAAAAEwAAAAAAAAAFAAAAAIAHAABAAAAARAUAL8PHwABAQAAAAAABQcAAAABBQAAAAAABRUAAAC
nkePD6LEa8iIT/+gqDAAAAQUAAAAAAAUVAAAAp5Hjw+ixGvIiE//oAQIAAA==
dtstamp = 2006-11-10T07:48:56.000Z
lastmodified = 2006-11-16T03:00:16.565Z
dtstart = 2006-11-22T19:30:00.000Z
location = x44444 pc:6879
duration = 3600
htmldescription = <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7638.1">
<TITLE>this is a summary</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->
<P><FONT SIZE=2>this is a description</FONT>
</P>
</BODY>
</HTML>
ishidden = 0
parentname = http://e1.exmx.net/exchange/[email protected]/Cal2/
meetingstatus = TENTATIVE
subject = this is a summary
getcontentlength = 631
normalizedsubject = this is a summary
isstructureddocument = 0
repl-uid = rid:122cda661de1da48936f944bda4dde6e0000003f3383
timezoneid = 0
displayname = CC1.1163646061548.0.eml
href = http://e1.exmx.net/exchange/[email protected]/Cal2/CC1.1163646061548.0.eml
nomodifyexceptions = 1
patternend = 2006-11-22T20:30:00.000Z
isreadonly = 0
instancetype = 0
uid = AQEAAAAAPzODAAAAAAAAAAAAAAAA
getlastmodified = 2006-11-16T03:00:16.565Z
created = 2006-11-16T03:00:16.549Z
sensitivity = 0
dtend = 2006-11-22T20:30:00.000Z
hasattachment = 0
iscollection = 0
read = 1
resourcetag = rt:122cda661de1da48936f944bda4dde6e0000003f3383122cda661de1da48936f944bda4dde6e0000003f4671
patternstart = 2006-11-22T19:30:00.000Z
priority = 0
sequence = 0