Чтобы исправить это, я сгенерировал файл класса для своего веб-сервиса с помощью приложения wsdl.exe, которое является частью .NET. Это просто сделать, в командной строке просто наберите wsdl.exe <path to webservice>
После того, как это сгенерировано, я перегрузил метод
protected XmlReader GetReaderForMessage(SoapClientMessage message, int bufferSize)
как это
protected override XmlReader GetReaderForMessage(SoapClientMessage message, int bufferSize)
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.CheckCharacters = false;
return XmlTextReader.Create(message.Stream, settings);
}
Это говорит XmlTextReader игнорировать допустимость файла XML, который он читает. Нет никакой причины, по которой меня волнует, действителен ли xml или нет, когда я просто собираюсь немедленно десериализовать его.
Надеюсь, это поможет кому-то с такой же проблемой!