SharePoint সাইট Lists.asmx করতে Webreference যোগ করুন.
HTTP://স্থানীয় হোস্ট / _vti_bin / Lists.asmx
(ভার্চুয়াল SharePoint ডিরেক্টরি 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:তালিকা[@ Title = '{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, “”, অকার্যকর, ক্ষেত্র, “1000000”, অকার্যকর);
// দেখুন ক্ষেত্র সবসময় সাংখ্যিক আইডি দিয়ে শুরু, তারপর ;# এবং তারপর স্ট্রিং উপস্থাপনা.
// আমরা সাধারণতঃ নাম শুধুমাত্র আগ্রহী, তাই আমরা আইডি স্ট্রিপ.
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]))
{
স্ট্রিং Val = Item.GetAttribute(“ows_” + (স্ট্রিং)DisplayNames[col.ColumnName]);
যদি (CheckLookup.IsMatch((স্ট্রিং)ঘন্টা))
{
স্ট্রিং valString = Val স্ট্রিং হিসেবে;
Val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// সংখ্যা বা আশা যে একটি ক্ষেত্রে একটি স্ট্রিং স্থাপন
// datetime মান পরোক্ষভাবে তাদের রূপান্তর করা হবে
newRow[সঙ্গে] = এইচ;
}
}
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(“টাকা”, “শবাধার:স্কীমাস-মাইক্রোসফট কম:rowset”);
_nsmgr.AddNamespace(“থেকে”, “#RowsetSchema”);
}
_nsmgr ফিরে;
}
}
ব্যক্তিগত প্রকার TypeFromField(XmlElement ক্ষেত্র)
{
সুইচ (field.GetAttribute(“আদর্শ”))
{
কেস “তারিখসময়”:
typeof ফিরে(তারিখসময়);
কেস “পূর্ণসংখ্যা”:
typeof ফিরে(কোন int);
কেস “সংখ্যা”:
typeof ফিরে(ভাসা);
ডিফল্ট:
typeof ফিরে(স্ট্রিং);
}
}
WssSite object on this code, I am getting error on this, “you are missing a using directive or an assembly reference?” any idea
Hi Bala,
WssSite is an Webreference for the lists.asmx
চিয়ার্স,
উদয়
Excellent. Thanks Uday. Your post saved me lot of time in my migration project 🙂
You are welcome Jaya