Pievienot webreference uz Lists.asmx SharePoint vietnē.
http://localhost / _vti_bin / Lists.asmx
(SharePoint virtuālo direktoriju URL / _vti_bin / Lists.asmx
rakstīt šādas metodes savā webservice.
privātas data.DataTable GetDataTableFromWSS(bool onlySchema)
{
string WssSiteUrl = http://192.168.111.21;
string WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists saraksti = jauni WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
lists.PreAuthenticate = true;
//Jums ir jāiet saraksta nosaukums šeit
string CommandText = “Darbinieku Info”;
XmlNode = ListCollectionNode lists.GetListCollection();
List XmlElement = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“WSS:Saraksts[@ Title = "{0}"]”, CommandText), NameSpaceMgr);
ja (List == null)
{
mest jaunu ArgumentException(String.Format(“Saraksts {0} nevarēja atrast vietas {1}”, CommandText, WssSiteUrl));
}
string TechListName = List.GetAttribute(“Vārds”);
data.DataTable rezultāts = jauna data.DataTable(“saraksts”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = jauni System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = jauni System.Collections.Hashtable();
foreach (XmlElement Field in ListInfoNode.SelectNodes(“WSS:Lauki / WSS:Lauks”, NameSpaceMgr))
{
ja (Field.HasChildNodes)
{
foreach (XmlElement FLD in Field.SelectNodes(“WSS:Lauki / WSS:Lauks”, NameSpaceMgr))
{
string FieldName = Fld.GetAttribute(“Vārds”);
string FieldDisplayName = Fld.GetAttribute(“DisplayName”);
ja (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Lauks));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
vēl
{
string FieldName = Field.GetAttribute(“Vārds”);
string FieldDisplayName = Field.GetAttribute(“DisplayName”);
ja (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Lauks));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
ja (onlySchema) atgriezties rezultāts;
XmlElement lauki = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, nulle, jomās, “1000000”, nulle);
// Uzmeklēšanas lauki vienmēr sākas ar ciparu ID, Pēc tam ;# un tad string pārstāvniecības.
// Mēs parasti interesē tikai nosaukuma, tāpēc mēs sloksne ID.
System.Text.RegularExpressions.Regex CheckLookup = jauni System.Text.RegularExpressions.Regex(“^ D ;#”);
foreach (XmlElement vienums ItemsNode.SelectNodes(“rs:Datums / s:rinda”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (col in result.Columns data.DataColumn)
{
ja (Item.HasAttribute(“ows_” + (stīgu)DisplayNames[col.ColumnName]))
{
string val = Item.GetAttribute(“ows_” + (stīgu)DisplayNames[col.ColumnName]);
ja (CheckLookup.IsMatch((stīgu)val))
{
string = valString izvēle, kā String;
val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// Piešķirot string lauku, kas sagaida numurus vai
// datetime vērtības netieši konvertē tos
newRow[ar] = Val;
}
}
result.Rows.Add(newRow);
}
atgriezties rezultāts;
}
// Šāda funkcija tiek izmantota, lai Get Vārdtelpas
privātā statiskā XmlNamespaceManager _nsmgr;
privātā statiskā XmlNamespaceManager NameSpaceMgr
{
nokļūt
{
ja (_nsmgr == null)
{
_nsmgr = jauni XmlNamespaceManager(jaunu NameTable());
_nsmgr.AddNamespace(“WSS”, “http://schemas.microsoft.com / SharePoint / ziepes /”);
_nsmgr.AddNamespace(“ar”, “UUID:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“dt”, “UUID:C2F41010-65B3-11d1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“rs”, “urna:shēmas-microsoft-com:rowset”);
_nsmgr.AddNamespace(“gada”, “#RowsetSchema”);
}
atgriezties _nsmgr;
}
}
privātas Type TypeFromField(XmlElement jomā)
{
slēdzis (field.GetAttribute(“Tips”))
{
gadījumā “DateTime”:
atgriezties typeof(DateTime);
gadījumā “Vesels skaitlis”:
atgriezties typeof(int);
gadījumā “Skaits”:
atgriezties typeof(pludiņš);
noklusējuma:
atgriezties typeof(stīgu);
}
}
WssSite iebildumus šajā kodu, Es esmu kļūst kļūda par šo, “jums trūkst, izmantojot direktīvu vai montāža atsauce?” kāda ideja
Hi Bala,
WssSite ir Webreference par lists.asmx
Priekā,
Uday
Lielisks. Paldies Uday. Your post saved me lot of time in my migration project 🙂
Jūs esat laipni Jaya