tl;dr
Word を適切に操作するには、 Microsoft WebDav 拡張プロパティを実装する必要がありますか。
拡張質問
既存のWebDAV.NET オープン ソース プロジェクトの上に WebDav サーバーを構築しています。Word 2010 (他のバージョンは試していません) では、ドキュメントが正しく保存され、ファイルの唯一のユーザーであるにもかかわらず、「アップロードに失敗しました」と表示されるため、サンプル コードが Microsoft Word ドキュメントの保存を正しく処理しないことに気付きました。その理由を突き止めようとしていますが、私の目を引いたのはMicrosoft WebDav Extension Propertiesでした。これに関する MS ページには、「WebDAV プロトコルを実装する WebDAV サーバー: Microsoft 拡張機能は、次の拡張プロパティを実装する必要があります」と記載されています。すべきと述べているので、Word で動作するためにサポートする必要はないと思います。
私の propfind 要求/応答が次のようになっていることに気づいたとき、私は拡張機能を疑うようになりました。
PROPFIND /test123.docx HTTP/1.1
Cache-Control: no-cache
Connection: Keep-Alive
Pragma: no-cache
Content-Type: text/xml; charset="utf-8"
User-Agent: Microsoft Office Core Storage Infrastructure/1.0
Depth: 0
Translate: f
Connection: Keep-Alive
Content-Length: 208
Host: localhost:62954
<?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>
HTTP/1.1 207 Multi-Status
Server: ASP.NET Development Server/10.0.0.0
Date: Mon, 16 Apr 2012 14:11:55 GMT
X-AspNet-Version: 4.0.30319
MS-Author-Via: DAV
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Content-Length: 576
Connection: Close
<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>http://localhost:62954/test123.docx</D:href>
<D:propstat>
<D:prop>
<D:creationdate>2012-04-10T08:00:00Z</D:creationdate>
<D:getlastmodified>2012-04-16T09:09:44Z</D:getlastmodified>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
<D:propstat>
<D:status>HTTP/1.1 404 Not Found</D:status>
<D:prop>
<modifiedby xmlns="urn:schemas-microsoft-com:office:office" />
</D:prop>
</D:propstat>
</D:response>
</D:multistatus>
興味のある方のために、以下は私の PUT 応答です。
HTTP/1.1 200 OK
Server: ASP.NET Development Server/10.0.0.0
Date: Mon, 16 Apr 2012 14:18:06 GMT
X-AspNet-Version: 4.0.30319
MS-Author-Via: DAV
Cache-Control: private
Content-Length: 0
Connection: Close