我已經查看了很多關於sharepoint和通過web服務訪問對象的問題,並且我相當確信任務可以通過Lists界面訪問。通過網絡服務訪問Sharepoint任務?
任何人都可以請我驗證一下嗎?
此外,如果任何人有任何這樣的例子,我將非常感激。我不是一個Sharepoint的人,但我需要連接到一個實例來檢索任務對象。
我已經查看了很多關於sharepoint和通過web服務訪問對象的問題,並且我相當確信任務可以通過Lists界面訪問。通過網絡服務訪問Sharepoint任務?
任何人都可以請我驗證一下嗎?
此外,如果任何人有任何這樣的例子,我將非常感激。我不是一個Sharepoint的人,但我需要連接到一個實例來檢索任務對象。
假設你使用Visual Studio和C#
想要一個代碼解決方案添加web reference到SharePoint列表Web服務 [http://[server-url]/_vti_bin/lists.asmx]
創建類似下面的一個新的類:
using System;
using System.Text;
using System.Xml;
using System.Text.RegularExpressions;
using System.Net;
public class SharePointList
{
public void ReadSharePointList()
{
SPList.Lists listService = new SPList.Lists();
try
{
// Retreive the URL to the list web service from the application cache
listService.Url = "http://[server-url]/_vti_bin/Lists.asmx";
// Retreive the GUID for the sharepoint list
// To find the GUID for your list, navigate to your SharePoint list and select Settings > List Settings.
// The browser url will display http://[server-url]/_layouts/listedit.aspx?List=%7B7A4C9C52%2DE7E7%2D4582%2D926E%2DC70D048F9071%7D
// The %7B7A4C9C52%2DE7E7%2D4582%2D926E%2DC70D048F9071%7D is your GUID that you need to transform
// %7B = {
// %2D = -
// %7D = }
// e.g. %7B7A4C9C52%2DE7E7%2D4582%2D926E%2DC70D048F9071%7D = {7A4C9C52-E7E7-4582-926E-C70D048F9071}
string listName = {YOUR LIST GUID HERE};
// SharePoint Web Serices require authentication
string serviceAccountID = [USERID];
string serviceAccountPW = [PASSWORD];
listService.Credentials = new NetworkCredential(serviceAccountID, serviceAccountPW);
XmlDocument xmlDoc = new System.Xml.XmlDocument();
XmlNode ndQuery = xmlDoc.CreateNode(XmlNodeType.Element,"Query","");
XmlNode ndViewFields = xmlDoc.CreateNode(XmlNodeType.Element,"ViewFields","");
XmlNode ndQueryOptions = xmlDoc.CreateNode(XmlNodeType.Element,"QueryOptions","");
ndQueryOptions.InnerXml = "<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>" +
"<DateInUtc>TRUE</DateInUtc>";
ndViewFields.InnerXml = "<FieldRef Name=\"Title\" />" +
"<FieldRef Name=\"Search_x0020_Value\" />";
// Form a query for the list items where Start Date is null or <= today's date
ndQuery.InnerXml = "<Where>" +
"<Or>" +
"<IsNull><FieldRef Name=\"Start_x0020_Date\"/></IsNull>" +
"<Leq><FieldRef Name=\"Start_x0020_Date\"/><Value Type=\"DateTime\"><Today/></Value></Leq>" +
"</Or>" +
"</Where>" +
"<OrderBy><FieldRef Name=\"Sort_x0020_Order\" Ascending=\"TRUE\" /></OrderBy>";
XmlNode ndListItems = listService.GetListItems(listName, null, ndQuery, ndViewFields, null, ndQueryOptions, null);
foreach (XmlNode node in ndListItems)
{
if (node.Name == "rs:data")
{
for (int f = 0; f < node.ChildNodes.Count; f++)
{
if (node.ChildNodes[f].Name == "z:row")
{
//DO SOMETHING WITH YOUR RESULTS
string test = node.ChildNodes[f].Attributes["ows_Title"].Value, node.ChildNodes[f].Attributes["ows_Search_x0020_Value"].Value;
}
}
}
}
}
catch (System.Web.Services.Protocols.SoapException ex)
{
//HANDLE ERRORS
}
}
}
是的,任務只是另一個(儘管是專業)列表。如果您在http://sharepoint/companydocs處有文檔列表,則任務存在(默認情況下)爲http://sharepoint/WorkflowTasks。