Web Calendar Access Protocol

Web Calendar Access Protocol est un protocole client-serveur d'accès à distance aux calendriers et agendas basés sur les standards Internet XML, HTTP, iCalendar et vCard. WCAP a été créé pour être utilisé avec Sun Java Calendar Server, mais est aussi utilisé par le projet open source Buni Meldware[1]. WCAP utilise de simples commandes HTTP GET pour accéder aux données iCalendar, Freebusy, TODO et vCard. WCAP répond aussi bien sous forme de texte traditionnel ou sous forme de « xml » iCalendar/etc[2]. De nombreux plugins existent comme ceux pour Mozilla Thunderbird[3], Novell Evolution[4] et Microsoft Outlook[5]. Il existe un protocole concurrent nommé CalDAV en voie de standardisation.

Exemple modifier

Client modifier

GET /wcap/get_freebusy.wcap?appid=mozilla-calendar&calid=mailto%3Atom%40localhost&busyonly=1&dtstart=20070521T040000Z&dtend=20070525T040000Z&fmt-out=text%2Fxml&id=17046506 HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.10) Gecko/20070403 Thunderbird/1.5.0.10
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

Réponse modifier

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)/Tomcat-5.5
Set-Cookie: JSESSIONID=41DAC48C79927D68EDFAF5FBFD491236; Path=/
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 1399
Date: Mon, 21 May 2007 19:43:37 GMT

<?xml version="1.0" encoding="UTF-8"?>
<iCalendar>
<iCal version="2.0" prodid="-//Buni Meldware Calendar Server 0.8//EN" METHOD="PUBLISH">
<X-NSCP-CALPROPS-LAST-MODIFIED>20061102T170639Z</X-NSCP-CALPROPS-LAST-MODIFIED>
<X-NSCP-CALPROPS-CREATED>20060814T110002Z</X-NSCP-CALPROPS-CREATED>
<X-NSCP-CALPROPS-READ>999</X-NSCP-CALPROPS-READ>
<X-NSCP-CALPROPS-WRITE>999</X-NSCP-CALPROPS-WRITE>
<X-NSCP-CALPROPS-RELATIVE-CALID>tom</X-NSCP-CALPROPS-RELATIVE-CALID>
<X-NSCP-CALPROPS-NAME>tom</X-NSCP-CALPROPS-NAME>
<X-NSCP-CALPROPS-PRIMARY-OWNER>tom</X-NSCP-CALPROPS-PRIMARY-OWNER>
<X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>@@o^c^WDEIC^g</X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>
<X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>@@o^a^RSF^g</X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>
<X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>@^a^rsf^g</X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>
<X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>@^c^^g</X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>
<X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>@^p^r^g</X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>
<X-NSCP-CALPROPS-RESOURCE>0</X-NSCP-CALPROPS-RESOURCE>
<X-S1CS-CALPROPS-ALLOW-DOUBLEBOOKING>1</X-S1CS-CALPROPS-ALLOW-DOUBLEBOOKING>
<FREEBUSY>
<START>20070521T040000Z</START>
<END>20070525T040000Z</END>
<FB FBTYPE="BUSY">20070521T130000Z/20070521T140000Z</FB><FB FBTYPE="BUSY">20070521T150000Z/20070521T160000Z</FB>
</FREEBUSY>
<X-NSCP-WCAP-ERRNO>0</X-NSCP-WCAP-ERRNO>
</iCal>
</iCalendar>

Références modifier

Source modifier