我遇到了一个 SharePoint 问题,希望有人能提供帮助。基本上,当我尝试将名为“MigratedChemist”的列添加到名为“WorkCards”的列表中时(方法参数中的 pListName)。无论我尝试什么,在调用 UpdateList 时都会出现 FaultException 错误。我正在使用 SharePoint Web 服务进行连接。我已确认以下内容:
- 该列尚不存在,我有权在 SharePoint 中创建它
- 与 SharePoint 的连接正确地建立到 /_vti_bin/lists.asmx
- 列表名称是正确的,因为我有另一种方法可以从列表中返回项目并且效果很好。
- 当程序运行并作为参数传递时,xVersion 和 xId 值设置正确 - 就我而言,我应该能够传递列表名称,而不是 GUID,但是这两种方法都不起作用。
我的代码如下:
public static bool AddColumnToList(string pUri, string pListName, string pViewName, string pMaxRecords)
{
string version = string.Empty;
XAttribute xId = null;
XAttribute xVersion = null;
try
{
XElement listDetails = client.GetList(pListName);
xVersion = listDetails.Attribute("Version");
xId = listDetails.Attribute("ID");
}
catch { throw; }
XElement ndNewFields = new XElement ("Fields", "");
string newXml = "<Method ID='1' Cmd='New'><Field Name='MigratedChemist' Type='Text' DisplayName='MigratedChemist' /></Method></Fields>";
ndNewFields.Add(newXml);
XElement result;
try
{
result = client.UpdateList(xId.Value, null, ndNewFields, null, null, xVersion.Value);
}
catch (FaultException fe)
{
}
return true;
}
除此之外,还有人知道如何从 FaultRequest 中获取任何体面的信息吗?目前我收到以下错误消息,它没有用,似乎没有额外的细节。我已经尝试过,因为有些人建议删除错误处理并让程序停止,但这也没有给我任何额外的信息。
{“引发了‘Microsoft.SharePoint.SoapServer.SoapServerException’类型的异常。”}