Удаление пустого пространства имен из ASMX WebService - PullRequest
3 голосов
/ 13 сентября 2011

У меня есть веб-служба с параметром XmlNode (также я пытался с XElement) и типом возврата XmlNode.

Проблема в том, что я передаю параметр без пространства имен, например:

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

и сервер получает что-то вроде этого:

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

и возвращаемый объект делает то же самое.

Обычно это не будет проблемой, но я использую пользовательскую контрольную сумму дляподтвердите запрос.Что-то вроде передачи MD5 параметра xml другому параметру.И когда сервер объявляет пространство имен, он ломает MD5.

Теперь я удаляю объявление с заменой, чтобы заставить md5 работать.У кого-то есть идея получше?(без обходных путей)

Ответы [ 2 ]

1 голос
/ 12 октября 2011

Я не уверен, зачем вам проверять XML с использованием MD5.Лучше было бы проверить ваш XML с помощью XSD.

Существует ряд существующих вопросов о том, как проверять XML на XSD в C #

0 голосов
/ 12 октября 2011

Вы пользуетесь услугами WCF?Или вы могли бы перейти на них?

Не могли бы вы применить этот тег к вашим DataContracts?

[DataContract(Namespace = "")]

Таким образом, данные вообще не будут иметь пространств имен.

Возможно ли что-то подобное этому сообщению?

Можно ли заставить XmlSerializer игнорировать пространство имен при десериализации?

...