mikedeboer / jsDAV

jsDAV allows you to easily add WebDAV support to a NodeJS application. jsDAV is meant to cover the entire standard, and attempts to allow integration using an easy to understand API.
http://www.mikedeboer.nl
MIT License
681 stars 159 forks source link

Microsoft Word Locks not working anymore ? #129

Open matthiasg opened 9 years ago

matthiasg commented 9 years ago

I am evaluating jsDAV as a solution to integrate with out services but testing with Word i get this error once i try to update a document (this is with the test_server.js):

[error] argument after event 'unknownmethod': {object} undefined
[Error: An xml body is required for lock requests]
[error]   code: 400,
[error]   type: 'BadRequest',
[error]   message: 'An xml body is required for lock requests' }

The spec says the initial lock request must have a body (understandable) but we dont seem to get this.

Does anybody have a hint how to proceed best or has had this problem already ? I am currently working through the specs and the network trace of what word is actually doing here, but since i am missing an alternative reference server its a little difficult to spot the exact root cause.

Full Log:


[info] {5} GET /walk/test%20hallo.docx
[info] {5} { 'content-type': 'text/xml; charset="utf-8"',
[info]   authorization: 'Bearer',
[info]   'user-agent': 'Microsoft Office Word 2014',
[info]   'x-office-major-version': '16',
[info]   'x-ms-cookieuri-requested': 't',
[info]   'x-featureversion': '1',
[info]   depth: '0',
[info]   translate: 'f',
[info]   'x-idcrl_accepted': 't',
[info]   host: 'projects.curasystems.com' }
[info] Receiving headers: {"content-type":"text/xml; charset=\"utf-8\"","authorization":"Bearer","user-agent":"Microsoft Office Word 2014","x-office-major-version":"16","x-ms-cookieuri-requested":"t","x-featureversion":"1","depth":"0","translate":"f","x-idcrl_accepted":"t","host":"projects.curasystems.com"}
[info] Returning headers: {"Access-Control-Allow-Methods":"GET, HEAD, PUT, POST, DELETE, TRACE, OPTIONS, CONNECT, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL, MKACTIVITY, GETLIB","Access-Control-Max-Age":"86400","Access-Control-Allow-Headers":"accept,accept-charset,accept-encoding,accept-language,authorization,content-length,content-type,host,origin,proxy-connection,referer,user-agent,x-requested-with,x-office-major-version,x-ms-cookieuri-requested,x-featureversion,x-idcrl_accepted","Access-Control-Allow-Credentials":"true","Access-Control-Allow-Origin":"*"}
[info] {5} 200 { pragma: 'no-cache',
[info]   'cache-control': 'no-cache, no-transform',
[info]   'content-type': 'application/octet-stream',
[info]   'last-modified': 'Mon, 29 Jun 2015 10:04:33 +0200',
[info]   'content-length': 11301 }
[info] {5} ''
[info] {6} PROPFIND /walk/test%20hallo.docx
[info] {6} { 'cache-control': 'no-cache',
[info]   pragma: 'no-cache',
[info]   'content-type': 'text/xml; charset="utf-8"',
[info]   authorization: 'Bearer',
[info]   'user-agent': 'Microsoft Office Word 2014',
[info]   'x-office-major-version': '16',
[info]   'x-ms-cookieuri-requested': 't',
[info]   'x-featureversion': '1',
[info]   depth: '0',
[info]   translate: 'f',
[info]   'x-idcrl_accepted': 't',
[info]   'content-length': '208',
[info]   host: 'projects.curasystems.com' }
[info] Receiving headers: {"cache-control":"no-cache","pragma":"no-cache","content-type":"text/xml; charset=\"utf-8\"","authorization":"Bearer","user-agent":"Microsoft Office Word 2014","x-office-major-version":"16","x-ms-cookieuri-requested":"t","x-featureversion":"1","depth":"0","translate":"f","x-idcrl_accepted":"t","content-length":"208","host":"projects.curasystems.com"}
[info] Returning headers: {"Access-Control-Allow-Methods":"GET, HEAD, PUT, POST, DELETE, TRACE, OPTIONS, CONNECT, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL, MKACTIVITY, GETLIB","Access-Control-Max-Age":"86400","Access-Control-Allow-Headers":"accept,accept-charset,accept-encoding,accept-language,authorization,content-length,content-type,host,origin,proxy-connection,referer,user-agent,x-requested-with,x-office-major-version,x-ms-cookieuri-requested,x-featureversion,x-idcrl_accepted","Access-Control-Allow-Credentials":"true","Access-Control-Allow-Origin":"*"}
[info] {6} <?xml version="1.0" encoding="utf-8" ?><D:propfind xmlns:D="DAV:" xmlns:Office="urn:schemas-microsoft-com:office:office"><D:prop><D:creationdate/><D:getlastmodified/><Office:modifiedby/></D:prop></D:propfind>
[info] {6} 207 { 'content-type': 'application/xml; charset=utf-8',
[info]   vary: 'Brief,Prefer',
[info]   DAV: '1,3,extended-mkcol,2' }
[info] {6} '<?xml version="1.0" encoding="utf-8"?><d:multistatus xmlns:d="DAV:" xmlns:a="http://ajax.org/2005/aml"><d:response><d:href>/walk/test%20hallo.docx</d:href><d:propstat><d:prop><d:creationdate></d:creationdate><d:getlastmodified xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" b:dt="dateTime.rfc1123">Mon, 29 Jun 2015 10:04:33 +0200</d:getlastmodified><x2:modifiedby xmlns:x2="urn:schemas-microsoft-com:office:office"></x2:modifiedby></d:prop><d:status>HTTP/1.1 200 Ok</d:status></d:propstat></d:response></d:multistatus>'
[info] {7} HEAD /walk/test%20hallo.docx
[info] {7} { authorization: 'Bearer',
[info]   'user-agent': 'Microsoft Office Word 2014',
[info]   'x-office-major-version': '16',
[info]   'x-ms-cookieuri-requested': 't',
[info]   'x-featureversion': '1',
[info]   'x-idcrl_accepted': 't',
[info]   host: 'projects.curasystems.com' }
[info] Receiving headers: {"authorization":"Bearer","user-agent":"Microsoft Office Word 2014","x-office-major-version":"16","x-ms-cookieuri-requested":"t","x-featureversion":"1","x-idcrl_accepted":"t","host":"projects.curasystems.com"}
[info] Returning headers: {"Access-Control-Allow-Methods":"GET, HEAD, PUT, POST, DELETE, TRACE, OPTIONS, CONNECT, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL, MKACTIVITY, GETLIB","Access-Control-Max-Age":"86400","Access-Control-Allow-Headers":"accept,accept-charset,accept-encoding,accept-language,authorization,content-length,content-type,host,origin,proxy-connection,referer,user-agent,x-requested-with,x-office-major-version,x-ms-cookieuri-requested,x-featureversion,x-idcrl_accepted","Access-Control-Allow-Credentials":"true","Access-Control-Allow-Origin":"*"}
[info] {7} 200 { pragma: 'no-cache',
[info]   'cache-control': 'no-cache, no-transform',
[info]   'content-type': 'application/octet-stream',
[info]   'content-length': 11301,
[info]   'last-modified': 'Mon, 29 Jun 2015 10:04:33 +0200' }
[info] {7} ''
[info] {8} LOCK /walk/test%20hallo.docx
[info] {8} { 'cache-control': 'no-cache',
[info]   pragma: 'no-cache',
[info]   authorization: 'Bearer',
[info]   'user-agent': 'Microsoft Office Word 2014',
[info]   'x-office-major-version': '16',
[info]   'x-ms-cookieuri-requested': 't',
[info]   'x-featureversion': '1',
[info]   translate: 'f',
[info]   if: '(<opaquelocktoken:44445502-81bc-1c18-5236-d5b8c1fe9703>)',
[info]   timeout: 'Second-3600',
[info]   'x-idcrl_accepted': 't',
[info]   host: 'projects.curasystems.com' }
[info] Receiving headers: {"cache-control":"no-cache","pragma":"no-cache","authorization":"Bearer","user-agent":"Microsoft Office Word 2014","x-office-major-version":"16","x-ms-cookieuri-requested":"t","x-featureversion":"1","translate":"f","if":"(<opaquelocktoken:44445502-81bc-1c18-5236-d5b8c1fe9703>)","timeout":"Second-3600","x-idcrl_accepted":"t","host":"projects.curasystems.com"}
[info] Returning headers: {"Access-Control-Allow-Methods":"GET, HEAD, PUT, POST, DELETE, TRACE, OPTIONS, CONNECT, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL, MKACTIVITY, GETLIB","Access-Control-Max-Age":"86400","Access-Control-Allow-Headers":"accept,accept-charset,accept-encoding,accept-language,authorization,content-length,content-type,host,origin,proxy-connection,referer,user-agent,x-requested-with,x-office-major-version,x-ms-cookieuri-requested,x-featureversion,x-idcrl_accepted","Access-Control-Allow-Credentials":"true","Access-Control-Allow-Origin":"*"}
[info] {8}
[error] argument after event 'unknownmethod': {object} undefined
[info] {8} 400 { 'Content-Type': 'application/xml; charset=utf-8' }
[info] {8} '<?xml version="1.0" encoding="utf-8"?>
[info] <d:error xmlns:d="DAV:" xmlns:a="http://ajax.org/2005/aml">
[info]     <a:exception>BadRequest</a:exception>
[info]     <a:message>An xml body is required for lock requests</a:message>
[info] <a:file></a:file>
[info] <a:line></a:line>
[info] <a:jsdav-version>0.3.2</a:jsdav-version>
[info] </d:error>'
[error] { [Error: An xml body is required for lock requests]
[error]   code: 400,
[error]   type: 'BadRequest',
[error]   message: 'An xml body is required for lock requests' }
undefined
skripture commented 8 years ago

Having the exact same issue here.