Я нашел решение аналогичной проблемы.В моем случае я получал похожую ошибку, когда мой сервис возвращал сырой JSON, то есть возвращал поток, который представлял этот JSON.
Ошибка: Обнаружено недопустимое имя корневого элемента 'Binary',«root» - единственное разрешенное имя корневого элемента.
Проблема в том, что предоставленный MS пример использует JsonWriter для преобразования сообщения в JSON, но этот автор ожидает, что ваше сообщение состоит из объектов JSON, которые он может преобразоватьПоток.В моем случае сообщение было составлено из двоичных данных, поэтому вместо одного «корневого» элемента у меня был элемент «Binary».
Я решил эту проблему, изменив классы, предоставленные в примере MS.В основном я проверяю формат сообщения - если это JSON, я все еще могу использовать JsonWriter, если это Binary, я должен использовать другой подход.В вашем случае сообщение в формате HTML (я не уверен, как вы его обслуживаете), но вы найдете другой способ получить тело сообщения.
Я написал сообщение в блоге о своей проблеме.здесь: http://hoonzis.blogspot.com/2011/07/provide-jsonp-with-your-wcf-services.html
Надеюсь, это немного поможет, Хонза