我正在尝试将附件上传到列表:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ConsoleApplication3.TestReference; using System.IO; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { string srcUrl = @"C:......comp_name.xlsx"; FileStream fStream = File.OpenRead(srcUrl); string fileName = fStream.Name.Substring(3); byte[] contents = new byte[fStream.Length]; fStream.Read(contents,(int)fStream.Length); fStream.Close(); ServiceWebReference.Lists listService = new ServiceWebReference.Lists(); listService.Credentials = System.Net.CredentialCache.DefaultCredentials; try { // adding attachment string result = listService.AddAttachment("testList","1",fileName,contents); Console.WriteLine(result); } catch (System.Web.Services.Protocols.SoapException e) { Console.WriteLine(e.GetBaseException()); Console.WriteLine(e); } } } }
我得到Unhandled SOAP异常….
以下是我得到的完整例外情况:
System.Web.Services.Protocols.SoapException: Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message,WebResponse response,Stream responseStream,Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object[] parameters) at ConsoleApplication3.ServiceWebReference.Lists.AddAttachment(String listName,String listItemID,String fileName,Byte[] attachment) in z:\Xxxxl\TestC\ConsoleApplication3\ConsoleApplication3\Web References\ServiceWebReference\Reference.cs:line 782 at ConsoleApplication3.Program.Main(String[] args) in z:\Xxxxl\TestC\ConsoleApplication3\ConsoleApplication3\Program.cs:line 29 Press any key to continue . . .
我正确地添加了引用:http ….. /_vti_bin/lists.asmx
我该怎么调试呢?在我的情况下,SOAP异常是什么?
解决方法
你为什么使用catch(System.Web.Services.Protocols.SoapException e)
1.使用ex代替e,因为e已经作为EventArgs e存在
2.Try catch(SoapException ex)这是一种更好的方法
所以,专注于异常处理伙伴,
我希望这可以帮助你
问候
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。