我有一个带有XmlNode参数的web服务(我也尝试过使用XElement)和一个XmlNode返回类型。
问题是,我传递的参数没有像这样的命名空间:
<client>
<name>Test</name>
</client>
并且服务器收到这样的内容:
<client xmlns="">
<name>Test</name>
</client>
并且返回对象也是如此。
通常情况下这不是问题,但我使用自定义校验和来验证请求。像将xml参数的MD5传递给另一个参数的东西。当服务器声明命名空间时,它会破坏MD5。
现在我正在使用替换删除声明以使md5正常工作。 有人有更好的主意吗? (没有解决方法)
答案 0 :(得分:1)
我不确定为什么要使用MD5验证XML。更好的想法是使用XSD验证您的XML。
关于如何在C#
中针对XSD验证XML,存在许多现有问题答案 1 :(得分:0)
您使用的是WCF服务吗?或者你可以迁移到他们吗?
您是否可以不将此标记应用于DataContracts?
[DataContract(Namespace = "")]
这样数据根本就没有任何名称空间。
这篇文章有可能吗?
Can I make XmlSerializer ignore the namespace on deserialization?