Я столкнулся с проблемой, которую не могу решить, поэтому прошу вас помочь мне!
Я работаю с WebService и пытаюсь вернуть XmlDocument из метода WebService с именем GetSystemDocument, который выглядит следующим образом:
[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]));
}
Проблема есть. Вместо XmlNode мы должны увидеть XmlDocument. Если я отредактирую его вручную, он будет создан и все будет нормально.
Я попытался сбросить IIS, обновить ссылку, перестроить веб-сервис.
У кого-то есть решение?
Вот такой Аналогичный вопрос , который остается без ответа.
Большое спасибо