我完成了在oracle服务总线11g上设置REST api。我在OSB上尝试了测试控制台,它运行正常并以JSON格式返回结果。但是当我在JAVA上调用REST api时问题就出现了。
请单击下面的超链接以查看错误消息和代码
the URL that i fired is URL of OSB proxy service, then it will call to REST URL endpoint
我得到的错误:it shows socket exception and related to the input stream
去掉
LOGGER.info(conn.getResponseMessage());
并改变Accept
conn.setRequestProperty("Accept", "application/json");
然后就做
if (conn.getResponseCode() != 200) {
throw new RuntimeException("HTTP Response Code: " + conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
// . . .
conn.disconnect();
如果您仍然遇到问题,则表示您通过代码发送的请求与浏览器不同。要解决此问题,请检查浏览器中的请求详细信息,并且请求标头与代码中的请求标头完全匹配,包括User-Agent
,POST
/ GET
。你可以听网络。有许多工具可以帮助您识别HTTP请求详细信息。