我遇到了一个无法解决的问题,所以我请求你帮助我!
我正在使用 WebService,并尝试从名为 GetSystemDocument 的 WebService 方法返回 XmlDocument,该方法如下所示:
[WebMethod(Description = "blabla")]
public XmlDocument GetSystemDocument(string DocumentName)
{
return new XmlDocument();
}
在我引用这个网络服务的项目中。 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 服务。
有人有解决办法吗?
这里有一个类似问题 http://www.dreamincode.net/forums/topic/41627-wacky-webservice-problem/这是没有答案的。
多谢