Web MVC3アプリケーション内にあるSphoirum webdavサーバーを使用して構築されたカスタムWebDAVサーバーがあります。これは.Net 4.0プロジェクトです。WebDAVサーバーに保存した後、Word 2010でエラーが報告される
ドキュメントリポジトリはSharePointであり、MVCアプリケーションはフロントエンドであり、WebDAV経由ですべて公開されます。私たちは、IIS 7.5でWebDAV公開を有効にしていないことに注意してください。私は、次のHTTP動詞を実装しました
:
- ゲット
- ヘッド
- ロック
- オプション
- のPropFind
- は
- ロック解除
ここで、ワードドキュメントを開くと、最初は読み取り専用モードです。ロックを取得して編集モードにするのは成功ですが、文書に変更を保存するときは、次のようになります。
変更は保存されましたが、エラーのためアップロードできませんでした。
トリックは、その文書がリポジトリに正しく保存され確かであり、そして言葉に私たちのWebDAVサーバーからの応答は、HTTP/200ですが、言葉はそれにもかかわらず文句を言います。 私はまた、Wordで直接SharePointリポジトリから編集しようとしましたが、私のオフィスがどうにか壊れていないことを確認するだけです。 Wordから文書を保存するときにここで
は、PUT要求からの応答です:
HTTP/1.1 200 OK
Date: Tue, 06 Sep 2011 12:25:47 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 12.0.0.6545
Last-Modified: Tue, 06 Sep 2011 12:25:47 GMT
ETag: "{F4A63494-D302-4C9B-9C57-D0CB0937A2B0},9"
ResourceTag: rt:[email protected]
X-MSDAVEXTLockTimeout: Second-3600
Lock-Token: opaquelocktoken:{F4A63494-D302-4C9B-9C57-D0CB0937A2B0}20110906T122532Z
Expires: Mon, 22 Aug 2011 12:25:47 GMT
Cache-Control: private,max-age=0
Content-Length: 0
Public-Extension: http://schemas.microsoft.com/repl-2
Set-Cookie: WSS_KeepSessionAuthenticated=40689; path=/
そして、ここでは同じ応答だ、同じ文書について、私たちのWebDAVサーバーから:
HTTP/1.1 200 OK
Cache-Control: private,max-age=0
Content-Length: 0
Expires: Wed, 24 Aug 2011 08:03:28 GMT
Last-Modified: Wed, 07 Sep 2011 08:03:28 GMT
ETag: "{4a4331a8-7df6-43e6-bd5f-bb80765e83a2},1"
Server: Microsoft-IIS/7.5
MS-Author-Via: DAV
ResourceTag: rt:[email protected]
Lock-Token: opaquelocktoken:{4a4331a8-7df6-43e6-bd5f-bb80765e83a2}20110907T080328Z
X-MSDAVEXTLockTimeout: Second-3600
Public-Extension: http://schemas.microsoft.com/repl-2
MicrosoftSharePointTeamServices: 12.0.0.6545
Set-Cookie: WSS_KeepSessionAuthenticated=40689; path=/
X-Powered-By: ASP.NET
Date: Wed, 07 Sep 2011 08:03:27 GMT
だから私は」 SharePointが発行するヘッダーの一部を模倣しようとしましたが、MicrosoftSharePointTeamServicesのようなものはありません。
ロックトークンはRFC2518の仕様に準拠していないと私は理解しています。手紙に、私はサーバーとOfficeとSharePointで動作しようとしています。だからもしそれらが間違っていれば、私もあまりにもあります:) – Vanja
(a)RFC 4918を今日見てみる必要があります。 (b)数年前に一般的なWebDAVサーバーを使用していたオフィス。多分彼らはそれを壊したが、それはSharepointをエミュレートしようとする道を行く前に試してみる価値がある。 –
良い点。私はそれを見てみましょう。問題はSphoriumが2518を実装していることですが、私はソースコードを持っているので、拡張機能を追加することが可能です。 – Vanja