(12) Patent Application Publication (10) Pub. No.: US 2007/0204012 A1 Kruse Et Al
Total Page:16
File Type:pdf, Size:1020Kb
US 20070204012A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/0204012 A1 Kruse et al. (43) Pub. Date: Aug. 30, 2007 (54) CLIENT EXTENDED ERROR HANDLING Related U.S. Application Data (75) Inventors: David Kruse, Kirkland, WA (US); (63) Continuation-in-part of application No. 1 1/217,626, Kishore Chintalapati, Redmond, WA filed on Aug. 31, 2005. (US): Sean Watson, Seattle, WA (US); Continuation-in-part of application No. 1 1/243,350, Jay Paulus, Seattle, WA (US): Dustin filed on Oct. 4, 2005. Friesenhahn, Seattle, WA (US); O O Ahmed Mohamed, Sammamish, WA Publication Classification (US)US (51) Int. Cl. Correspondence Address: G06F 5/16 (2006.01) MCROSOFT CORPORATION (52) U.S. C. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 709/219 ONE MCROSOFT WAY (57) ABSTRACT REDMOND, WA 98052-6399 (US) Techniques for clients and servers to use the web authoring (73) Assignee: Microsoft Corporation, Redmond, WA extensions, and in particular, extended error handling to (US) allow servers to provider richer web authoring error infor mation to clients. One technique includes sending an author ing request to a server, receiving a response message with (21) Appl. No.: 11/598,489 extended error information by a client, and sending the extended error information to an application program. Other (22) Filed: Nov. 13, 2006 embodiments are described and claimed. uncompounded compounded 2 4 172 17 round trip time Patent Application Publication Aug. 30, 2007 Sheet 1 of 16 US 2007/0204012 A1 HTTP client HTTP Sever request-line/status-line field-name1 field-body1 field-name2 field-body2 field-name5 field-body5 field-name{5 field-body6 RELATED ART FIG. 1 Patent Application Publication Aug. 30, 2007 Sheet 2 of 16 US 2007/0204012 A1 80 87 GET /rfcs/rfc2616.html HTTP/1.1 (CRLF) Host: www.faqs.orgCRLF) Connection: close(CRLF) Accept-Encoding: gzip(CRLF) 88 Accept: image/x-xbitmap, ...; version="6.1.0", "/"ICRLF Accept-Language: en-us(CRLF) User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; ...). (CRLF) Referer: http://web-sniffer.net/(CRLF) 82 89 HTTP Status Code: HTTP/1.1 200 OK Date: Tue, 16 Aug 2005 22:24:21 GMT CRLF Server: Apache CRLF Last-Modified: Tue, 16 Aug 2005 05:32:33 GMT CRLF ETag: "5f897b-6301a-43017a71" CRLF 90 Accept-Ranges: bytes CRLF Content-Length: 405530 CRLF Connection: close CRLF Content-Type: text/html CRLF <DOCTYPE HTML PUBLIC"-//IETF//DTD HTML//EN"> <HTML> 92 <BODY> ...Content </BODY> </HTML> RELATED ART FIG. 2 Patent Application Publication Aug. 30, 2007 Sheet 3 of 16 US 2007/0204012 A1 OPTIONS HEAD POST HTTP methods < DELETE 104 TRACE CONNECT GET PUT COPY MOVE DELETE web authoring MKCOL method extension PROPFIND 1 OO PROPPATCH LOCK UNLOCK Accept Accept-Charset AllOW Cache-Control HTTP headers 106 Connection Content-Length Warning WWW-Authenticate f Depth Web authoring LOCk-Token header extensions Destination 102 TimeOut OverWrite RELATED ART FIG 3 Patent Application Publication Aug. 30, 2007 Sheet 4 of 16 US 2007/0204012 A1 round trip time time RELATED ART FIG. 4 Patent Application Publication Aug. 30, 2007 Sheet 5 of 16 US 2007/0204012A1 OPTIONS HEAD HTTP methods 104 CONNECT GET PUT web authoring COPY method insions PROPPATCH - LOCK UNLOCK POSTIGET + LOCKREFRESHUNLOCK) 144 th PUT + LOCKREFRESHUNLOCK) 146 co-extensions EPoSTIGET-PROPFIND148 PUT + PROPPATCHD-150 140 POSTIGET + PROPFIND+ LOCKREFRESHUNLOCK) 152 PUT + PROPPATCH + LOCKIREFRESHUNLOCK 154 Accept Accept-Charset Allow HTTP headers Cache-Control 106 Warning WW-Authenticate lf web authoring Depth headers Lock-Token 102 TimeOut Overwrite X-MSDAVEXTLockTimeout:xxx compounding X-MSDAVEXT: PROPFINDXXX header extension s Content-type: multipart/MSDAVEXTPrevisencodeckx 142 FIG. 5 Patent Application Publication Aug. 30, 2007 Sheet 6 of 16 US 2007/0204012A1 uncompounded Compounded 172 17 HTTP HTTP client SerWer FIG. 6 Patent Application Publication Aug. 30, 2007 Sheet 7 of 16 US 2007/0204012 A1 192 (does server support compound methods?) Send OPTIONS request; receive response, HTTP client check for Compounding indicator, 198 handle communications accordingly HTTP/1 200 OK HTTP/1 A 200 OK Date: Tule, 25 Jan 2005 03:12:26 GMT icroSoft-IS/6.0 MicrosoftSharePoint TeamServices: 12.0.2.6361 OPTIONS / HTTP/1. X-Powere-By: ASP.NET translate:f MS-Autho-Via: MS-FP14.0, DAV DAV: 1,2 User-Agent: WebDAV-MiniRedir/5. 3790 Host: office Accept-Ranges: none Allow: GET, POST, OPTIONS, HEAD, MKCOL, PUT, Authorization. NTLM Connection: Keep-Alive PROPFIND PROPPATCH, DELETE, MOVE, COPY, GETLIB, LOCK, UNLOCK Content-Length: 0 ntrol: private ength: 0 X-MSDAVEXT: 1 HTTP Server receive OPTIONS request; generate response by including...------------------------ (indicator.thatcompounding is supported; send response F.G. 7 Patent Application Publication Aug. 30, 2007 Sheet 8 of 16 US 2007/0204012A1 example POST+UNLOCK request: 222 224 220 222 224 226 HTTP verb X-MSDAVEXT result LockTimeout: GETIPOST Y IN 7 FAIL FAIL - if token doesn't match LOCK - if no existing lock at server GETIPOST Y Y REFRESH - if X-MSDAVEXTLockTimeout a 0 NLOCK - if X-MSDAVEXTLockTimeout - O 144 sent lock token: FA- if file is already locked GETPOST Y FAL - if file is locked & X-...Lock-TimeOut:0 didn't send lock token. LOCK - if no existing lock at server GETIPOST T N T N return file PUT Y success - if token matched FAL - if token mismatch or file not locked FAIL - if token doesn't match PUT Y Y LOCK - if no existing lock at server /UNLOCK-ifx-MSDAVEXTLock-Timeout-oREFRESH - if X-MSDAVEXTLock-Timeouts. 0 146 sent lock token: FAIL - if file is already locked FAI - if file is locked & X-...Lock-TimeOut:0 didn't send lock token: LOCK - if no existing lock at server Content-Type application/x-ww-form-urlencoded; charset=utf-8;... 224 X-MSDAVEXTLockTimeOut: Second -120 Lock-Token: opaquelocktoken:{3932E32A-8825-494E-A19E 222 E714A7A741A8)20041130T183232Z gContent) FIG. 8 Patent Application Publication Aug. 30, 2007 Sheet 9 of 16 US 2007/0204012A1 result Content-type: X-MSDAVEX: (effective method) multipart/MSDAVEXTPrefixEncoded PROPFIND GET--PROPFIND POST multipart/MSDAVEXTPrefixEncoded PROPFIND POST+PROPFIND multipart/MSDAVEXTPrefixEncoded PROPPATCH PUT+PROPPATCH multipart/MSDAVEXTPrefixEncoded | PROPFIND PUT+PROPFIND example GET--PROPFIND request: POST /shared%20documents/Copy%20of%20Folder/test.rtf HTTP/1.1 translate:f User-Agent: Microsoft-WebDAV-MiniRedir/5.2.3790 Host: Office Connection: Keep-Alive Pragma: no-cache 242 X-MSDAVEXT: PROPFIND Content-type: ... 250 r example GET--PROPFIND response: HTTP/1.1 200 OK Date: Tue, 25 Jan 2005 03:12:31 GMT Server: Microsoft-IS/6.0 MicrosoftSharePointTeamServices: 6.0.2.6361 X-Powered-By: ASP.NET Last-Modified: Thu, 12 Feb 2004 02:33:01 GMT ETag: "{3E94207C-8E12-4491-BOFF-A903E2C961OE}.7" ResourceTag:rt:3E94207C-8E12-4491-BOFF-A903E2C961OEG)00000000007 240 Content-type: multipart/MSDAVEXTPrefixEncoded; ... (some number Cache-Control: private of Seconds) X-MSDAVEXTLockTimeout: Second-# Lock-Token: opaquelocktoken:{4A7A741A8}20041130T183232Z Content-Length: # N (size of body Public-Extension: http://schemas.microsoft.com/repl 248) 248-- -length of properties section> <properties.> <length of resource> areSource> FIG. 9 Patent Application Publication Aug. 30, 2007 Sheet 10 of 16 US 2007/0204012A1 27 example PUT+PROPPATCH+UNLOCK request: PUT Ishared%20documents/Copy%20of%20Folder/test, rtf HTTP/1.1 translate:f User-Agent: Microsoft-WebDAV-MiniRedir/5.2.3790 Host: dustinfrServer Content-Length: 114234 Connection: Keep-Alive X-MSDAVEXT: PROPPATCH X-MSDAVEXTLockTimeOut: Second-O Lock-Token; opaquelocktoken:{4A7A741A8}20041130T183232Z Content-type: multipart/MSDAVEXTPrefixEncoded Pragma: no-cache Authorization: NTLM <length of properties section><some pushed properties. <length of resource><some PUT resource subject to the pushed properties.> 272 example PUT+PROPPATCH+UNLOCK response: HTTP/1.1 200 OK HTTP/1.1 200 OK Date: Tue, 30 Nov 2004 18:32:34 GMT Sever: Microsoft-IS/6.0 X-Powered-By: ASP.NET MicrosoftSharePoint TeamServices: 6.0.2.5530 Cache-Control: private Content-Length: 0 Public-Extension: http://schemas.microsoft.com/repl-2 FIG 10 Patent Application Publication Aug. 30, 2007 Sheet 11 of 16 US 2007/0204012A1 90 example POST+PROPFIND+LOCK request: POST /shared%20documents/Copy%20of%20Folder/test, rtf HTTP/1.1 translate:f User-Agent: Microsoft-WebDAV-MiniRedir/5.2.3790 Host: dustinfrServer Connection: Keep-Alive X-MSDAVEXT. PROPFIND X-MSDAVEXTLockTimeout: Second-60 Content-Length: 0 Pragma: no-cache Authorization: NTLM 29 example POST+PROPFIND+LOCK response: HTTP/1.1 200 OK ' Date: Tue, 30 Nov 2004 18:32:34 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET MicroSoftSharePoint TeamServices: 6.0.2.5530 Cache-Control: private Content-Length: 1056 Content-type: multipart/MSDAVEXTPrefixEncoded; ... X-MSDAVEXTLockTimeOut: Second-60 Lock-Token: opaquelocktoken:{4A7A741A8}20041130T183232Z Public-Extension: http://schemas.microsoft.com/repl-2 00000000000001F4 <500 bytes of some returned properties.> OOOOOOOOOOOOO2OC <524 bytes of some posted resource> F.G. 11 Patent Application Publication Aug. 30, 2007 Sheet 12 of 16 US 2007/0204012 A1 30 Extended Error code (Decimal) an error code which the client can map to a system-level error code String (URL Encoded) a string with extended information for Clients to use 302 HTTP/1.1 401 Unauthorized Content-Length: 1656 Content-Type: text/html X-MSDAVEXTERROR: 2342; The file is checked out to "Redmond\ dustinfr" Server: Microsoft-S/6.0 WWW-Authenticate: NTLM X-Powered-By: ASP.NET MicroSoftSharePointTeamServices: 12.0.0.000 Date: Tue, 25 Jan 2005 03:11:51 GMT FIG. 12 Patent Application Publication Aug. 30, 2007 Sheet 13 of 16 US 2007/0204012A1 Server 1302 Extended Error Information 1340 Client 1304 Application Request EE 1340 Program 1308-1 Receive EEI 1340 Application Client Receive EE 1340 Program 1308-2 Redirector 1306 CRELUT 1314 FOA 1316 PID1 TID1 LID1 EEM1 Operating PID2 TID2 LID2 EEM2 EEM2 System PID3 TD3 uD3 IEEM3 1310 . PID-n TID-p LID-a EEM-r OSEmor Code List 1312 FIG. 13 Patent Application Publication Aug.