当浏览器中的相同GET请求显示XML响应时,为什么HTTPClient响应会产生JSON流?

时间:2010-10-05 10:50:54

标签: xml json jaxb httpclient unmarshalling

我第一次使用HttpClient向Web服务(由WADL定义)发出请求,我想在响应中将响应解组为有意义的对象,如果我执行Get请求它的响应XML。但是,当我从代码中显示响应时,它似乎是JSON。我错过了一步吗?或者有没有办法可以转换?

2 个答案:

答案 0 :(得分:2)

浏览器和代码是否可能发送不同的Accept:标头? http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1

您是否可以尝试从代码中发送“application / xml,text / xml”的Accept标头,看看是否会改变这些内容?另一件事是使用像Firebug这样的工具检查浏览器发送的标头,例如,因为如果URL相同,几乎可以肯定的是,正在发送的标头之一正在改变行为。

答案 1 :(得分:0)

我猜测webservice正在返回不同的响应,具体取决于用户代理或其他与请求不同的内容。检查所有参数是否相同。还要检查HttpClient是否正在执行GET而不是POST。除非您的Web浏览器和HttpClient请求之间的参数或标头不同,否则响应应该没有区别。