【问题标题】:RESTFUL WCF Remove all xmlnsRESTFUL WCF 删除所有 xmlns
【发布时间】:2009-12-11 18:21:58
【问题描述】:

我将我的 DataContracts 命名空间设置为“”,这删除了一个命名空间,但我必须删除另一个:

xmlns:i="http://www.w3.org/2001/XMLSchema-instance"

如果没有其他方法,我如何在返回和破解命名空间之前序列化我的类?

我必须这样做才能使用另一家公司的 API。

【问题讨论】:

标签: xml wcf rest namespaces xml-namespaces


【解决方案1】:

除了放弃 WCF 之外,您唯一真正的选择是更改服务合同以返回流并自己进行 XML 序列化。您仍然可以使用数据协定序列化程序,转换为字符串,去掉所有命名空间,然后转换回流以返回,但这听起来很糟糕。

如果您需要在 POST 正文中接受没有名称空间的 XML,那么您将面临更多的痛苦。在那种情况下,我会很快转储 WCF。

【讨论】:

  • 我已经测试过在没有命名空间的情况下将 xml 发送到我的 WCF 并且它似乎有效。我会考虑更改服务合同,谢谢。
  • 只是出于好奇,接受发布正文的参数是什么数据类型?
  • 当我测试时,我只是发布了一个没有命名空间的 xml 格式的字符串,接收函数参数对象是一个自定义类,xml 被序列化为......我的数据合约
【解决方案2】:

尝试仅删除 DataContract 和 DataMember 属性。这可能会解决您的问题。

【讨论】:

    猜你喜欢
    • 2016-03-25
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 2012-09-04
    • 2013-03-28
    相关资源
    最近更新 更多