解決できない問題に直面したので、助けてください!私は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サービスを再構築してみました。誰かが解決策を持っていますか?
これは答えられていない同様の質問です。
どうもありがとう