Для дальнейшего использования для других бедных душ, вот решение, которое я придумала.
Как уже упоминалось в моем вопросе, мои классы генерируются из XSD.Я проверил предыдущую версию наших классов, и они все еще отлично работают.Кроме того, SOAP-сервисы, которые используют те же классы, также работают.Осматривая журнал трассировки, я не вижу ничего особенно показательного.
Но я нашел конкретное решение.Я добавил в свой класс следующий атрибут:
[System.Xml.Serialization.XmlRoot(Namespace = "urn:eu.emsa.ssn",
ElementName = "SSN_Receipt")]
Теперь я не хочу засорять сгенерированные классы пользовательским кодом, поэтому я добавил частичный класс:
[System.Xml.Serialization.XmlRoot(Namespace = "urn:eu.emsa.ssn",
ElementName = "SSN_Receipt")]
public partial class SSN_ReceiptType {}
Это решает мою проблему полностью.Но я до сих пор не понимаю, почему это сломалось, во-первых.
Если кто-то может придумать хороший тестируемый ответ на вопрос, почему это сломалось, я сделаю это правильным ответом.Спасибо за ваше время, ребята!Это был образовательный опыт, в некоторой степени:)