Ошибка 400 означает неверный запрос => он получен на уровне WCF и даже не достигает метода. Поэтому вам нужно посмотреть на запрос, и если вы передаете JSON, скорее всего, он в неправильном формате.
У меня был личный проект, который я реализовал в WCF REST, и мне пришлось бороться с этой ошибкой, которая была довольно неприятной. Кроме того, обработка ошибок на сервере и возвращение кодов ошибок клиенту ужасна, поскольку вы не можете вернуть текстовое содержимое, и все, что у меня есть, - это код ошибки HTTP и описание ошибки (первая строка в ответе HTTP). Я никогда больше не буду использовать WCF REST, поскольку это реализация в бодходе.