Я пытаюсь реализовать службу отдыха в WCF, но у меня возникают проблемы, связанные с тем, что служба не может десериализовать передаваемый ей xml. Он пытается сопоставить корневой элемент с контрактом на операции, а не с контрактом на данные. Например, со следующим пакетом XML,
<MyObject>
<MyField1>asdf</MyField1>
<MyField2>1234</MyField2>
...
</MyObject>
он не может десериализовать MyObject как входное сообщение, поскольку ожидает контракт операции на этом уровне.
Я не хочу просто использовать все поля в качестве параметров для контракта на эксплуатацию, поскольку 1) будет более 5 параметров, и 2) не остается места для данных расширения.
У меня настроено расширение для ведения журнала входящего запроса. Должен ли я просто обернуть входящее сообщение корневым элементом, чтобы правильно десериализовать его? Или есть менее хакерский способ заставить эту работу - не заставлять клиента менять реализацию?
Спасибо