У меня есть стандартное приложение WCF Rest (по умолчанию Web.config, Web Routing).Я не могу получить инфраструктуру WCF для автоматической десериализации потока запросов в типизированные объекты.У меня есть служба с методом sig в форме ...
[WebInvoke(Method = "POST",
UriTemplate = "",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json)]
MethodA(FirstParam first, SecondParam second)
Если я инициирую запрос от fiddler или jQuery с использованием $ .ajax, я получаю ошибку 400 Bad Request.Я провел много поисков и обнаружил, что изменение метода sig на использование System.IO.Stream позволяет выполнять метод, но также добавляет издержки десериализации объектов.
НеобработанныйТело запроса выглядит следующим образом:
{
"first":"{\"p1\":\"p1 value\",\"p2\":\"p2 value\",\"p3\":100\"p4\":null}",
"second":"{\"p1\":\"p1 value\"}"
}
Да, приложение даже не взламывает сам сервис, если у метода нет ни потока, ни аргументов.В этом сервисе есть только один метод post, другой метод GET работает правильно.
Я использовал http://www.codeproject.com/KB/ajax/jQueryWCFRest.aspx в качестве эталонной реализации, но не смог получить егоработать над этим решением.
Есть ли что-то, чего мне здесь не хватает, надеюсь, кто-то еще сможет это увидеть?
Леон