从ASMX WebService中删除空命名空间

时间:2011-09-12 21:03:44

标签: c# xml web-services namespaces asmx

我有一个带有XmlNode参数的web服务(我也尝试过使用XElement)和一个XmlNode返回类型。

问题是,我传递的参数没有像这样的命名空间:

<client>
    <name>Test</name>
</client>

并且服务器收到这样的内容:

<client xmlns="">
    <name>Test</name>
</client>

并且返回对象也是如此。

通常情况下这不是问题,但我使用自定义校验和来验证请求。像将xml参数的MD5传递给另一个参数的东西。当服务器声明命名空间时,它会破坏MD5。

现在我正在使用替换删除声明以使md5正常工作。 有人有更好的主意吗? (没有解决方法)

2 个答案:

答案 0 :(得分:1)

我不确定为什么要使用MD5验证XML。更好的想法是使用XSD验证您的XML。

关于如何在C#

中针对XSD验证XML,存在许多现有问题

答案 1 :(得分:0)

您使用的是WCF服务吗?或者你可以迁移到他们吗?

您是否可以不将此标记应用于DataContracts?

[DataContract(Namespace = "")]

这样数据根本就没有任何名称空间。

这篇文章有可能吗?

Can I make XmlSerializer ignore the namespace on deserialization?