无法从GET请求获取JSON
问题描述:
新玩!一般来说,框架和Web开发,我试图做一个简单的REST GET到一个Web服务,并得到一些直接的JSON作为回应。将URL输入到浏览器中,我得到了一个完美的响应,并带有格式良好的JSON。通过代码调用它,它只是炸毁:无法从GET请求获取JSON
WS.WSRequest wsRequest = WS.url(serviceURL);
wsRequest.timeout(timeoutTime);
wsRequest.setHeader("Accept", "application/json");
wsRequest.headers.put("Content-type","application/json");
wsRequest.mimeType = "application/json";
WS.HttpResponse response = wsRequest.get();
String graphServiceResponse = response.getJson().toString();
执行一切正常,直到它抛出一个异常,并出现了错误的最后一行。我知道我有什么看起来像很多冗余代码;那些是我的尝试来解决它。就像我说的,在浏览器中输入“serviceURL”,它可以正常工作。
任何人都知道我在做什么错了?提前致谢!
答
好的,解决了这个问题。只是省略了所有的设置等等,增加了认证,并且完美运行。奇怪的。
String stringResponse = "";
try {
// execute GET to graph service
WS.WSRequest wsRequest = WS.url(serviceURL).authenticate(USERNAME, PASSWORD);
WS.HttpResponse response = wsRequest.get();
stringResponse = response.getString();
... more cool stuff ...
感谢您的期待!
答
我尝试过,发现下面的代码工作。 10000是以ms为单位的超时参数。
String baseUrl = "your url";
F.Promise<WSResponse> response = ws.url(baseUrl)
.setQueryParameter(param, value)
.get();
return response.get(10000).asJson().toString();
它会抛出什么异常? – Thomas 2012-03-02 20:21:08
不确定(无法调试代码),但它返回HTTP 500响应。 – Frecklefoot 2012-03-02 22:43:18
我真的解决了这个问题,但系统不会让我在几个小时内发布我自己的答案。将尽快更新! – Frecklefoot 2012-03-02 22:47:12