Клиент нашел тип содержимого ответа "text/html", но ожидаемый "text/xml"

Я получаю эту ошибку:

Клиент нашел тип содержимого ответа 'text/html', но ожидал 'text/xml.

Я добавляю веб-ссылку для прямого поиска. Когда я создаю проект, его "Успешный". Но после этого, когда я ввожу текст в текстовое поле и вводим кнопку поиска, он дает эту ошибку. Я использую свою локальную машину и используя .net 2.0 с С#.
Plz помогите мне...
Спасибо в заранее...

Ответ 1

Как сказал Мэтт, вероятно, страница с ошибкой возвращается.

Используйте либо прокси-сервер, например Fiddler, либо сетевой сниффер, например WireShark, чтобы узнать, что такое исходный ответ, - это должно помочь вам разобраться в том, что происходит.

Ответ 2

Обычно эта ошибка означает, что служба отправила обратно сообщение об ошибке (HTML), а не ответ XML SOAP, ожидаемый вашим клиентом.

Для веб-сервисов, которыми вы управляете, очень легко найти проблему, потому что вы можете использовать веб-методы вручную в своем браузере. Диагностировать это, когда это чужое обслуживание немного сложнее. Возможно, вы сможете отслеживать код для своей веб-ссылки и проверять текст ответа до того, как будет создано исключение.

Ответ 3

Я нашел Fiddler, что очень полезно при отладке проблем клиентского сервера http. Это прокси-сервер, позволяющий перехватывать и даже изменять содержимое запроса и ответа.

Ответ 4

В вашем фактическом коде замените строку:

searchRequest.AppID = "APP ID you generated from ...";

с фактическим AppID, который должен быть long alpha-numeric sequence.

Ответ 5

Клиент ожидает XML от веб-службы. Но в этом случае он получает HTML.I недавно столкнулся с этой проблемой в этом случае из-за активности maintanance мои веб-службы были недоступны. Когда мы обращаемся к этой веб-службе из браузера в в этот раз он дает мне желтый экран.

То же самое происходит, когда мы вызываем веб-службу из кода, в этом случае желтый экран является HTML, поэтому он дает это исключение.