C# 使用webservice失败
几天来,我一直在测试一个小应用程序,它将由webservice读取SPList并显示内容。不幸的是,它不起作用。我总是遇到同样的失败: System.Web.Services.Protocols.SoapException:类型的异常 引发了“Microsoft.SharePoint.SoapServer.SoapServerException” 贝 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage 消息,WebResponse,流响应Stream,布尔值 异步调用) 贝 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object[]参数) bei NeuerTestWebservice_4_2.webserviceccc.Lists.GetListItems(字符串列表名、字符串视图名、XmlNode查询、XmlNode视图字段、字符串 行限制、XmlNode查询选项、字符串webID) d:\VisualStudio2012\webservicests\NeuerTestWebservice\u 4\u 2\NeuerTestWebservice\u 4\u 2\Web References\webserviceSCC\Reference.cs:zeile455 bei NeuerTestWebservice_4_2.Form1.btnFill_单击中的(对象发送方、事件参数) d:\VisualStudio2012\webservicests\NeuerTestWebservice\u 4\u 2\NeuerTestWebservice\u 4\u 2\Form1.cs:Zeile 30 我的webreference如下所示:(好的-目前这是一个网站,但我想选择该网站并在以后列出) 这是我的代码:C# 使用webservice失败,c#,web-services,sharepoint-2010,visual-studio-2012,webservice-client,C#,Web Services,Sharepoint 2010,Visual Studio 2012,Webservice Client,几天来,我一直在测试一个小应用程序,它将由webservice读取SPList并显示内容。不幸的是,它不起作用。我总是遇到同样的失败: System.Web.Services.Protocols.SoapException:类型的异常 引发了“Microsoft.SharePoint.SoapServer.SoapServerException” 贝 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapCli
...
private void btnFill_Click(object sender, EventArgs e)
{
try
{
webserviceSCC.Lists service = new webserviceSCC.Lists();
service.UseDefaultCredentials = true;
XmlNode nodes = service.GetList("Inhalts- und Strukturberichte"); //don´t get a failure, if I add "?wsdl/soap" to the Webservice-Referenz ("/_vti_bin/Lists.asmx?wsdl/soap")
XmlNode listItems = service.GetListItems("Inhalts- und Strukturberichte", "Alle Elemente", null, null, "100", null, null); //here (GetListItems) I get the failure always
//XmlNode listItems = service.GetListItems("Inhalts- und Strukturberichte", null, null, viewFields, null, null, null);
...
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
我测试了不同的Web服务引用。
你知道吗,因为我失败了?你给我举了个好例子吗
谢谢
多谢各位。我之前测试过的url——失败时没有任何变化。我也经历过这样的失败: 异常:引发:“模具日期顺序程序集” “NeueTestWebService_4_2.XmlSerializers,版本=1.0.0.0, 文化=中性,PublicKeyToken=空“以表示对davon的支持 这是一个非常简单的系统 finden。“(System.IO.FileNotFoundException)A 引发System.IO.FileNotFoundException:“死亡日期顺序程序集 “NeueTestWebService_4_2.XmlSerializers,版本=1.0.0.0, 文化=中性,PublicKeyToken=空“以表示对davon的支持 这是一个非常简单的系统 芬登。”
直接在初始化webservice之后:webserviceSCC_Sys.Lists service=newWebServiceSCC_Sys.Lists();有助于了解这些信息吗?这里有一个方法,我可以调用两个不同的Web服务,它可以正常工作。我怀疑您需要在您的服务器上指定
service.Url
属性
(请注意,我正在使用using语句来正确处理Web服务。)
public void TestPermissions(String objectName、String objectType、LoggedInUserDetails、userDetails、String siteUrl)
{
xmlnodeperms;
XmlNode用户信息;
XmlNode权限;
XmlNode角色来自用户;
使用(SharePermissions.Permissions permissionService=new SharePermissions.Permissions())
{
列表名称=新列表();
permissionService.Credentials=新网络凭据(
userDetails.UserName,
解密(userDetails.Password,“utrfirfu7j6r”+userDetails.MacAddress));
permissionService.Url=siteUrl+/\u vti\u bin/Permissions.asmx”;
perms=permissionService.GetPermissionCollection(objectName,objectType);
}
使用(ShareGroups.UserGroup userGroupService=new ShareGroups.UserGroup())
{
userGroupService.Url=siteUrl+@“/_vti_bin/UserGroup.asmx”;
userGroupService.Credentials=新网络凭据(
userDetails.UserName,
解密(userDetails.Password,“asdasdasad”+userDetails.MacAddress));
permissions=userGroupService.GetRolesAndPermissionsForCurrentUser();
userInfo=userGroupService.GetUserInfo(userDetails.ResolvedUserName);
}
}
GetListItems()的参数导致错误。有关示例,请参见。根据文档,viewName参数(第二个)应该是视图的Guid,或者是默认视图的空字符串,而不是视图的名称。No-它是sharepoint Web服务
public void TestPermissions(String objectName, String objectType, LoggedInUserDetails userDetails, string siteUrl)
{
XmlNode perms;
XmlNode userInfo;
XmlNode permissions;
XmlNode rolesFromUser;
using (SharePermissions.Permissions permissionService = new SharePermissions.Permissions())
{
List<object> names = new List<object>();
permissionService.Credentials = new NetworkCredential(
userDetails.UserName,
Decrypt(userDetails.Password, "utrfirfu7j6r" + userDetails.MacAddress));
permissionService.Url = siteUrl + @"/_vti_bin/Permissions.asmx";
perms = permissionService.GetPermissionCollection(objectName, objectType);
}
using (ShareGroups.UserGroup userGroupService = new ShareGroups.UserGroup())
{
userGroupService.Url = siteUrl + @"/_vti_bin/UserGroup.asmx";
userGroupService.Credentials = new NetworkCredential(
userDetails.UserName,
Decrypt(userDetails.Password, "asdasdasdsad" + userDetails.MacAddress));
permissions = userGroupService.GetRolesAndPermissionsForCurrentUser();
userInfo = userGroupService.GetUserInfo(userDetails.ResolvedUserName);
}
}