У меня есть приложение 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 не мое, я не могу его контролировать.