Ich habe dies in einem Java-Programm vor ein paar Jahren zurück, und die Art, wie ich es getan habe, war ein VCALENDAR-Dokument in den Ordner PUT. Eine Besonderheit ist, dass das VCALENDAR in eine RFC822-Nachricht eingefügt werden musste. Es ist eine bizarre Kombination aus WebDAV, E-Mail und iCAL/VCAL, aber es funktionierte damals auf Exchange 2003, das auf Link2Exchange gehostet wurde.
Ich bin mir sicher, dass es einen einfacheren Weg gibt, aber das hat bei mir funktioniert. Im Folgenden zeige ich eine tcpdump-Paket-Ablaufverfolgung von dem, was passiert ist. Sie sollten wahrscheinlich ngrep/tcpdump auf Ihrem eigenen Outlook/Entourage-Client verwenden, um zu sehen, was es tut.
Beachten Sie, dass "Cal2" der Name meines Testkalenderordners ist. Sie würden "Kalender" für den Hauptkalenderordner verwenden.
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>.
Sie können überprüfen, ob es mit so etwas wie Kadaver arbeitete wie so die Eigenschaften des Objekts über WebDAV abfragen:
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