Протокол доступа к веб-календарю
Протокол доступа к веб-календарю ( WCAP ) — это протокол удаленного клиент-серверного доступа к календарю и планирования на основе стандартов XML , HTTP , iCalendar и vCard интернет- .
WCAP был создан для использования с продуктом, который в конечном итоге стал Sun Java System Calendar Server . WCAP использует простые команды HTTP GET для доступа к записям iCalendar, Freebusy, TODO и vCard. Ответы WCAP представляют собой либо традиционную текстовую форму, либо форму XML iCalendar/и т. д. [1] Существует несколько плагинов, в том числе для Mozilla Thunderbird . [2] Новелл Эволюция [3] и Microsoft Outlook . [4]
CalDAV — это конкурирующий протокол, который в 2007 году был стандартизирован. [ нужна ссылка ]
Пример
[ редактировать ]Клиент
[ редактировать ]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
Ответ
[ редактировать ]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>