asp.net – Webservice方法返回XmlDocument,Reference看到一个Xm
发布时间:2020-12-16 10:00:04 所属栏目:asp.Net 来源:网络整理
导读:我遇到了一个我无法解决的问题,这就是我求求你帮助我的原因! 我正在使用WebService,我正在尝试从名为GetSystemDocument的WebService方法返回一个XmlDocument,它看起来像: [WebMethod(Description = "blabla")] public XmlDocument GetSystemDocument(strin
我遇到了一个我无法解决的问题,这就是我求求你帮助我的原因!
我正在使用WebService,我正在尝试从名为GetSystemDocument的WebService方法返回一个XmlDocument,它看起来像: [WebMethod(Description = "blabla")] public XmlDocument GetSystemDocument(string DocumentName) { return new XmlDocument(); } 在我引用此Web服务的项目中. Visual Studio告诉我它不能隐式地将类型’System.Xml.XmlNode’转换为’System.Xml.XmlDocument’. 如果我查看Reference.cs文件(由Visual Studio生成),代码如下所示: /// <remarks/> [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://doc.cexp.ca/GetSystemDocument",RequestNamespace="http://doc.cexp.ca",ResponseNamespace="http://doc.cexp.ca",Use=System.Web.Services.Description.SoapBindingUse.Literal,ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public System.Xml.XmlNode GetSystemDocument(string DocumentName) { object[] results = this.Invoke("GetSystemDocument",new object[] { DocumentName}); return ((System.Xml.XmlNode)(results[0])); } 问题出在那里.而不是XmlNode,我们应该看到XmlDocument,如果我手动编辑它,它构建,一切正常. 我已经尝试重置IIS,更新引用,重建Web服务. 这是一个没有答案的Similar question. 非常感谢 解决方法
Web方法的结果包含在SOAP文档中,该文档是XML文档.因此,如果要从Web方法返回XML,则应返回XmlElement.
[WebMethod(Descrption = "foo")] public XmlElement GetSystemDocument(string documentName) { var doc = new XmlDocument(); doc.LoadXml("<foo> <bar x="a"/> </foo>"); return doc.DocumentElement; } 编辑:更正了代码以确保它编译 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在ASP.NET vNext MVC 6(beta1)项目之间共享视图?
- 您认为ASP.NET WebForms是一种不好的做法吗?
- asp.net-core-mvc – EntityFramework 7(EF7)迁移 DbContex
- asp.net-mvc – 从MVC5框架OAuth/OWin身份提供程序与外部au
- asp.net-mvc – ASP.NET MVC jQueryUI datepicker在使用AJA
- asp.net-mvc – 在视图中找不到webgrid引用
- asp.net-mvc-3 – asp.net mvc会话经常在托管环境中过期
- asp.net – 在打开silverlight项目之前,您需要安装最新的Si
- asp.net – 缓存解决方案
- kendo-ui – 阻止kendo ui网格弹出编辑器关闭插入(asp.net