我使用JavaScript來調用SP web服務和移交在下面的CAML的GetListItems方法:CAML從SharePoint留言板獲取的所有項目
var CAML = "<Query>"
+ "<ViewAttributes Scope=\"Recursive\" />"
+ "<Where>"
+ "<Or>"
+ "<Eq>"
+ "<FieldRef Name=\"ID\"/>"
+ "<Value Type=\"Counter\">" + id + "</Value>"
+ "</Eq>"
+ "<Eq>"
+ "<FieldRef Name=\"ParentFolderId\" />"
+ "<Value Type=\"Integer\">" + id + "</Value>"
+ "</Eq>"
+ "</Or>"
+ "</Where>"
+ "</Query>";
var fieldinfo = "<ViewFields><FieldRef Name='Title' /><FieldRef Name='Body' /><FieldRef Name='CorrectBodyToShow' /><FieldRef Name='Created' /><FieldRef Name='Author' /><FieldRef Name='Editor' /><FieldRef Name='PersonalImage' /><FieldRef Name='DiscussionLastUpdated' /></ViewFields>"
,我只收到了頂層項目返回...討論類型項目。有2個與ParentFolderId 1相關的消息類型項目,但它們不會被返回。另外,如果我在U2U工具中運行CAML,它會返回整個線程...一個討論和兩個消息。
由於包裝器正在滾動一切轉換爲傳遞給Web服務的SOAP信封,我應該只在SOAP主體中將新查詢選項添加爲根級別節點? – 2010-03-01 14:42:17
我會認爲它是這樣的。在調用.GetListItems Web服務時,queryoptions是一個單獨的參數,它將放在SOAP請求的某個地方,但我從來沒有使用過原始SOAP請求(VS爲你完成所有的管道工作),所以不能完全確定。 – Ryan 2010-03-01 15:34:22
你的依靠是營養!它是 root下的一個單獨節點...我缺少的部分是它們的QueryOptions需要「雙重包裝「像查詢節點一樣工作。 QueryOptions> queryOptions> 非常感謝Ryan! –
2010-03-01 15:47:57