WCf メソッドから xmlElement を返します。クライアントでサービス参照を行うと、同じメソッドが XmlElement ではなく XElement を返します。サービス参照の更新、新しいサービス参照の作成など、すべてを試しましたが、役に立ちません。
これは私のクライアントです:
ServiceReference1.BasicServiceClient basicWCfClient = new ServiceReference1.BasicServiceClient();
XmlElement xmlelement = basicWCfClient.GetData(5);
basicWCfClient.Close();
エラーが表示されます:「型 'System.Xml.Linq.XElement' を 'System.Xml.XmlElement' に暗黙的に変換できません」
サーバー側のメソッドの場合:
public XmlElement GetData(int value)
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml("<msg><node1>Hello</node1><node2>World</node2><request_params><mynode>More</mynode></request_params></msg>");
XmlElement xmlElement = xmldoc.DocumentElement;
return xmlElement;
}
そしてインターフェース:
[ServiceContract]
public interface IBasicService
{
[OperationContract]
[WebGet(UriTemplate = "GetData?value={value}")] // Add support for HTTP GET Requests
XmlElement GetData(int value);}
何が起こっている ?