我创建了一个Java Servlet作为我的网页的代理,使用AJAX来获取跨域请求。
servlet使用参数转到服务器,并返回从存储XML的服务器接收的任何内容。
我试图弄清楚为什么我的Java Servlet使用URL从具有REST的Web Logic Server获取XML不起作用。但是当我使用相同的URL并将其粘贴到浏览器(IE9,Firefox)中时,我得到了一个XML响应。
这是我的代码:
// build URL for specific request
String url = baseURL + urlParams;
//debug - check constructed URL
if (debug.equals("true"))
System.out.println("Constructed URL is " + url);
// fetch XML from URL
HttpClient client = new DefaultHttpClient();
HttpGet getXML = new HttpGet(url);
HttpResponse response = client.execute(getXML);
StatusLine statusLine = response.getStatusLine();
// Echo whatever headers you are interested in.
Header[] allHeaders = response.getAllHeaders();
resp.setStatus(statusLine.getStatusCode());
BufferedWriter bufferedWriter = null;
try
{
bufferedWriter = new BufferedWriter(resp.getWriter());
InputStream content = response.getEntity().getContent();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(content,"UTF-8"));
String temp = null;
while((temp = bufferedReader.readLine()) != null)
{
//debug - check response body
if (debug.equals("true"))
System.out.println(temp);
bufferedWriter.write(temp);
bufferedWriter.newLine();
}
}
catch (Exception e)
{
resp.setStatus(500);
// handle the exception
}
finally
{
if(bufferedWriter != null)
{
bufferedWriter.flush();
bufferedWriter.close();
}
}
Servlet详细信息 使用apache.http.client
Web XML 2.3
Web Server是Sun One 6.1 SP4(是的,我知道这是遗留系统)
正如我之前所说,我检查了我的服务器日志以查看servlet使用的URL,然后将其复制到我的浏览器中,确实在该位置有一个XML。
我使用的方法不是正确的REST吗?
我做错了吗?
欢迎任何建议!