【问题标题】:How can I return XML from a WCF web service?如何从 WCF Web 服务返回 XML?
【发布时间】:2012-02-01 15:17:16
【问题描述】:

相关的 Web 服务必须以 SOAP XML 格式返回存储过程的结果。

我可以从 web 服务返回任何对象没问题,我什至熟悉从 .asmx 服务序列化 JSON,但我完全不理解从 web 服务返回 XML 的概念,他的工作是检索结果从一个存储过程。这对我来说非常重要,因此非常感谢任何帮助。

谢谢。

【问题讨论】:

标签: c# xml wcf soap


【解决方案1】:

尝试返回XmlNode

[ServiceContract]
public interface IMyService
{
    ...
    [OperationContract]
    XmlNode MyMethod(...);

    ...
}

【讨论】:

  • 非常感谢乔,感谢您的回复。因此,假设该服务的工作是返回存储过程的结果——这种从 sql 结果到 XML 的“转换”是如何/在哪里发生的?再次感谢。
  • @SkonJeet - 有很多选择。最简单的方法是让您的 OperationContract 返回一个强类型结果(例如MyTypeIList<MyType>)并让框架进行序列化。或者您可以使用 .NET 框架中的 Xml 类来自己生成 XML,使用您的 IDataReader 返回的数据。
  • 再次感谢您的时间伙伴。那么你会说我“可以接受”编写一个将存储过程的结果获取到 sqlreader 的 Web 服务(正常),然后使用 XML 类将所有这些转换为 xml 吗?还是有更“优雅”的做法?
【解决方案2】:

除了将 XML 作为字符串返回之外,您还可以查看 WCF REST http://msdn.microsoft.com/en-us/netframework/dd547388,它可以添加为您提供用于 XML/JSON WCF 项目的 VS 项目模板。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 2012-04-05
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 2014-06-16
    相关资源
    最近更新 更多