C # - SOAP Body имеет слишком много пространств имен - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть приложение ac # .NET Core 2.1, и оно использует WSDL для генерации Сервиса, который я могу создать и вызвать.Он автоматически сгенерирует XML и отправит его.

var client = new Client();
var request = new Request();
var response = new client.Method(request);

Здесь я не создаю вручную какой-либо XML.Клиент, Запрос и Ответ все определены в Reference.cs

Когда .NET генерирует XML, и я проверяю его в Fiddler, он добавляет 2 (неиспользуемые) пространства имен к элементу Body:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

Проблема в том, что код, прослушивающий на другом конце, отклоняет мой вызов из-за этих дополнительных пространств имен.Я предполагаю, что он проходит через валидатор XSD или что-то в этом роде.

Если я возьму XML, который генерирует .NET, и отправлю его через SoapUI, я получу ту же ошибку.Если я удаляю эти 2 пространства имен, я получаю успех.

Есть ли способ повлиять на пространства имен, которые .NET вставляет в элемент Body?

Спасибо.

РЕДАКТИРОВАТЬ: WSDL не мое, я не могу его контролировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...