我有一个带有 XmlNode 参数(我也尝试使用 XElement)和 XmlNode 返回类型的网络服务。
问题是,我传递了一个没有命名空间的参数,如下所示:
<client>
<name>Test</name>
</client>
服务器收到这样的信息:
<client xmlns="">
<name>Test</name>
</client>
并且返回对象做同样的事情。
通常这不会有问题,但我使用自定义校验和来验证请求。类似于将 xml 参数的 MD5 传递给另一个参数。当服务器声明命名空间时,它会破坏 MD5。
现在我要删除带有替换的声明以使 md5 正常工作。 有人有更好的主意吗? (没有解决方法)
最佳答案
我不确定您为什么要使用 MD5 验证 XML。一个更好的主意是使用 XSD 验证您的 XML。
关于如何在 C# 中针对 XSD 验证 XML 存在许多现有问题
关于c# - 从 ASMX WebService 中删除空命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7394014/