Я впервые использую HttpClient, чтобы сделать запрос к веб-сервису (определенному WADL), я хотел бы демаршалировать ответ в значимый объект в браузере, если я выполняю запрос Get, это ответ с XML. Но когда я показываю ответ кода, он выглядит как JSON. Я пропустил шаг? или есть способ это преобразовать?
почему ответ HTTPClient создает поток JSON, когда тот же запрос GET в браузере показывает ответ XML?
Ответы (2)
Возможно ли, что браузер и код отправляют разные заголовки Accept:
? http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
Можете ли вы попробовать отправить заголовок Accept типа «application / xml, text / xml», скажем, из кода и посмотреть, изменится ли это? Еще одна вещь, которую нужно сделать, - это проверить заголовки, которые браузер отправляет, с помощью такого инструмента, как Firebug, например, потому что, если URL-адрес тот же самый, почти наверняка это один из отправляемых заголовков, который меняет поведение.
Я предполагаю, что веб-сервис возвращает другой ответ в зависимости от пользовательского агента или чего-то другого в запросе. Убедитесь, что все параметры идентичны. Также проверьте, что HttpClient выполняет GET, а не POST. В ответе не должно быть разницы, если только параметры или заголовки не отличаются между вашим веб-браузером и вашим запросом HttpClient.