SharePoint Lists.asmx:查询返回"已删除"日历项?

Obe*_*lix 2 sharepoint web-services caml

在针对sharepoint list.asmx服务运行caml查询时,我有这种奇怪的行为,GetListItems方法也返回已删除的项目;

found item: test
found item: already done
found item: recurring
found item: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: todays event 15-16 //<- NOT DELETED YET
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?我是否需要对caml查询应用特殊过滤器?我目前正在查询如下;

<Query>
  <OrderBy>
     <FieldRef Ascending='TRUE' Name='EventDate' />
  </OrderBy>
  <Where>
     <Eq>
        <FieldRef Name='EventDate' />
        <Value Type='DateTime'><Today /></Value>
     </Eq>
  </Where>
</Query>
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试了什么; 1.清除回收站中的所有内容2.在sharepoint网络服务器上执行iisreset

请注意; 我在VMWare工作站环境中运行.

Dev*_*inB 7

根据日历的经验,他们有一种非常奇怪(但逻辑)的方法来处理重复发生的事件.首先,日历基本上只是一个专门的列表(就像SP中的所有内容一样),并且有一个奇特的视图控件.

将项目添加到日历时,会将单个项目添加到列表中.添加定期事件时,SP不会在列表中添加无限数量的项目,它会添加一个特殊的"重复"项目,如您所注意到的那样.然后,如果您删除一些单独的定期事件(即每周会议,但在下周二取消)SP会在列表中添加一个特殊的"已删除事件"项.这些项目实际上并没有被删除,因为它们存在并且不再存在,它们只是重复事件的例外.因此,当您在列表视图中查看日历时,它们会被过滤掉,但它们本身就是"真正的"单个SP列表项.

我希望这是有道理的.