我遇到了一个我无法解决的问题,所以我请求你帮助我!我正在使用 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]));
}
问题就在那里。我们应该看到 XmlDocument 而不是 XmlNode,如果我手动编辑它,它会构建并且一切正常。
我尝试过重置 IIS、更新引用、重建 Web 服务。有人有解决方案吗?
这是一个类似的问题,没有答案。
非常感谢