Я пишу заглушку службы WCF, чтобы имитировать существующую службу VB6.Заглушка должна принимать один параметр, который является строкой, выполнять некоторую логику и возвращать строку.
У меня возникла проблема, связанная со следующим методом в контракте на обслуживание
[OperationContract]
[WebInvoke(Method = "POST",
UriTemplate = "lookup")]
string LookupItem(string requestXml);
Когда я отправляю сообщение в fiddler, я получаю сообщение об ошибке
Сервер обнаружил ошибку при обработке запроса.Сообщение об исключении: «Невозможно десериализовать тело XML с корневым именем« XmlRoot »и корневым пространством имен» (для операции «LookupItem» и контракта («IServiceStub», «http://tempuri.org/')) с использованием DataContractSerializer. Убедитесь, что тип, соответствующий XML, являетсядобавлен в коллекцию известных типов службы. '.
Не пытается ли WCF десериализовать мой XML в объект, даже если я этого не хочу? Строка отправляется как текст /xml, потому что служба, которая имитирует, должна получать POST в виде text / xml. Что-то мне не хватает?