以下是我的问题的步骤:
问题:
我的调查结果:
我已经通过Fiddler解雇了,并从CellStorage.svc中发现了这个CellRequestFail错误:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<ResponseVersion Version="2" MinorVersion="0" xmlns="http://schemas.microsoft.com/sharepoint/soap/"/>
<ResponseCollection WebUrl="http://kbstg.rt.ru" xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<Response Url="http://siteurl/Lists/DocumentationListInstance/02_D-link_DSL2640_UEBRUC2E_V2.doc" RequestToken="1" HealthScore="1">
<SubResponse SubRequestToken="1" ErrorCode="Success" HResult="0">
<SubResponseData/>
</SubResponse>
<SubResponse SubRequestToken="2" ErrorCode="CellRequestFail" HResult="2147500037">
<SubResponseData Etag=""{BB1B8453-5F6F-4D05-8210-E42DB21A6711},12"" CoalesceHResult="0" ContainsHotboxData="False" HaveOnlyDemotionChanges="False">DAALAJ3PKfM5lAabFgMCAAAOAgYAAwUBbgIgAL+u/no9AyhInDE5d6/lgklaAggAZgIAADcBBwGLAQ==</SubResponseData>
</SubResponse>
</Response>
</ResponseCollection>
</s:Body>
</s:Envelope>
ULS日志给了我:
ttidLogCellStg Sub-request rtQueryChanges failed with error ICsiError: csierrBlobHeap_ClockReversed (0x266)
如果我上传任何新文件,那么一切都会好的。即使我下载了一个有问题的文档并在创建新项目后上传它,那么一切都会好起来的。
更新
我对一个文件做了一些测试,所以我可以说文件属性中的ETag等于Subagquest中的ETag。
答案 0 :(得分:0)
这是MS-FSSHTTPS协议中的问题。该协议负责Office客户端(Word)和服务器(SharePoint)之间的Office文档的文件同步。它应该减少客户端和服务器之间传输的数据量。 DOCX文档获得了更好的结果,但它也适用于DOC文件。根据议定书documentation:
Etag:一个字符串,指定要更新的唯一字符串值 每次更改文件内容。唯一的字符串得到 无论哪个协议客户端更新文件,都会更新 共同授权文件中的内容。任何时候协议客户端 指定单元子请求中的Etag属性,服务器必须 检查以确保客户端发送的Etag与Etag匹配 在服务器上为该文件指定。如果Etag不匹配 客户端指定的版本与存储的版本之间 服务器,协议服务器必须发送错误代码值设置为 单元子响应消息中的“CellRequestFail”。协议 服务器按[RFC2616]中的规定处理此值。
似乎您的文档中的ETAG元数据信息已损坏。