Решение, которое я нашел, состояло в том, чтобы внедрить инспектор сообщений. Я создал класс, который реализует IClientMessageInspector. Этот класс получит возможность изменить сообщение до его отправки по проводам или изменить ответ после его отключения. Затем я создаю другой класс IEndpointBehavior, который я использую для регистрации инспектора пользовательских сообщений. Наконец, я создаю класс, который расширяет BehaviorExtensionElement, чтобы позволить указать пользовательское поведение в файле конфигурации.
С помощью этого решения я могу изменять сообщение по мере его отправки на сервер и удалять ошибочные определения псевдонимов xsi и xsd.