شیئرپوائنٹ سائٹ میں Lists.asmx کو webreference شامل کریں.
HTTP://localhost / _vti_bin / Lists.asmx
(شیئرپوائنٹ مجازی ڈائرکٹری URL / _vti_bin / Lists.asmx
اپنے webservice میں مندرجہ ذیل طریقوں لکھنے.
نجی data.DataTable GetDataTableFromWSS(bool onlySchema)
{
سٹرنگ WssSiteUrl = HTTP://192.168.111.21;
سٹرنگ WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists کی فہرست = نئے WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials System.Net.CredentialCache.DefaultCredentials =;
lists.PreAuthenticate سچ =;
//اگر آپ یہاں فہرست کا نام منتقل کرنے کی ہے
سٹرنگ CommandText = “ملازم کی معلومات”;
XmlNode ListCollectionNode = lists.GetListCollection();
XmlElement کی فہرست = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“WSS:فہرست[@ عنوان = '{0}']”, CommandText), NameSpaceMgr);
اگر (کی فہرست نل ==)
{
نیا ArgumentException پھینک(String.Format(“فہرست {0} سائٹ میں نہیں مل سکا {1}”, CommandText, WssSiteUrl));
}
سٹرنگ TechListName = List.GetAttribute(“نام”);
data.DataTable نتیجہ = نئے data.DataTable(“فہرست”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = نئے System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = نئے System.Collections.Hashtable();
foreach (ListInfoNode.SelectNodes میں XmlElement فیلڈ(“WSS:شعبوں / WSS:میدان”, NameSpaceMgr))
{
اگر (Field.HasChildNodes)
{
foreach (Field.SelectNodes میں FLD XmlElement(“WSS:شعبوں / WSS:میدان”, NameSpaceMgr))
{
سٹرنگ = FIELDNAME Fld.GetAttribute(“نام”);
سٹرنگ = FieldDisplayName Fld.GetAttribute(“ڈسپلے”);
اگر (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FIELDNAME + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(میدان));
fieldRefs.AppendFormat(“”, FIELDNAME);
DisplayNames.Add(FieldDisplayName, FIELDNAME);
}
}
ورنہ
{
سٹرنگ FIELDNAME = Field.GetAttribute(“نام”);
سٹرنگ FieldDisplayName = Field.GetAttribute(“ڈسپلے”);
اگر (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FIELDNAME + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(میدان));
fieldRefs.AppendFormat(“”, FIELDNAME);
DisplayNames.Add(FieldDisplayName, FIELDNAME);
}
}
اگر (onlySchema) واپسی نتیجہ;
XmlElement کھیتوں = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, شہوت انگیز null, کھیتوں میں, “1000000”, شہوت انگیز null);
// تلاش کریں کھیتوں ہمیشہ عددی ID کے ساتھ شروع, پھر ;# اور پھر تار نمائندگی.
// ہم عام طور پر صرف نام کے ہی دلچسپی رکھتے ہیں, تو ہم نے آئی ڈی کی پٹی.
System.Text.RegularExpressions.Regex CheckLookup = نئے System.Text.RegularExpressions.Regex(“^ D ;#”);
foreach (ItemsNode.SelectNodes میں XmlElement آئٹم(“روپے:ڈیٹا / Z:قطار”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (result.Columns میں data.DataColumn کرنل)
{
اگر (Item.HasAttribute(“ows_” + (سٹرنگ)DisplayNames[col.ColumnName]))
{
سٹرنگ ویل = Item.GetAttribute(“ows_” + (سٹرنگ)DisplayNames[col.ColumnName]);
اگر (CheckLookup.IsMatch((سٹرنگ)گھنٹے))
{
سٹرنگ valString = ویل تار کے طور پر;
ویل = valString.Substring(valString.IndexOf(“#”) + 1);
}
// نمبر یا توقع رکھتا ہے کہ ایک کھیت کے ایک تار بتائے
// تریخ ویلہ اقدار لپیٹ ان کو تبدیل کریں گے
newRow[سے] = H;
}
}
result.Rows.Add(newRow);
}
واپسی نتیجہ;
}
// درج ذیل فنکشن کھاتہ کھولیں حاصل کرنے کے لئے استعمال کیا جاتا ہے
نجی جامد XmlNamespaceManager _nsmgr;
نجی جامد XmlNamespaceManager NameSpaceMgr
{
ملتا
{
اگر (_nsmgr نل ==)
{
_nsmgr = نئے XmlNamespaceManager(نیا NameTable());
_nsmgr.AddNamespace(“WSS”, “HTTP://schemas.microsoft.com/sharepoint/soap/”);
_nsmgr.AddNamespace(“ے”, “UUID:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“DT”, “UUID:C2F41010-65B3-11d1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“روپے”, “کلش:schemas- مائیکروسافٹ ڈاٹ کام:rowset”);
_nsmgr.AddNamespace(“سے”, “#RowsetSchema”);
}
_nsmgr واپس آ جائیں;
}
}
نجی پروپوزل TypeFromField(XmlElement میدان)
{
سوئچ (field.GetAttribute(“قسم”))
{
کیس “تریخ ویلہ”:
typeof واپس آ جائیں(تریخ ویلہ);
کیس “عددی”:
typeof واپس آ جائیں(int کے);
کیس “تعداد کی”:
typeof واپس آ جائیں(فلوٹ);
پہلے سے طے شدہ:
typeof واپس آ جائیں(سٹرنگ);
}
}