شیئرپوائنٹ سائٹ میں 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 واپس آ جائیں(سٹرنگ);
}
}
اس کوڈ کے بارے میں اعتراض WssSite, میں نے اس پر غلطی ہو رہی ہے, “آپ کو ایک کا استعمال کرتے ہوئے ہدایت یا ایک اسمبلی ریفرنس یاد کر رہے ہیں?” کسی بھی خیال
وہاں بالا,
WssSite lists.asmx لئے ایک Webreference ہے
چیرس,
ادی
عمدہ. شکریہ ادی. Your post saved me lot of time in my migration project 🙂
آپ کو جیا کا استقبال ہے