Hallo,
ich habe ein Java Servlet, das per HttpClient request einen Service abruft. Dieser schickt eine Antwort mit einer angehängten Excel Datei. Diese möchte ich nun aus der Antwort des HttpClient auslesen und an das HttpServletResponse Objekt hängen. Das klappt leider nicht, daher die Frage, was mache ich falsch?
Apache HttpClient 4
Eine herkömmliche Anfrage ohne angehängte Datei sieht so aus: (funktioniert auch)
Danke im Voraus
ich habe ein Java Servlet, das per HttpClient request einen Service abruft. Dieser schickt eine Antwort mit einer angehängten Excel Datei. Diese möchte ich nun aus der Antwort des HttpClient auslesen und an das HttpServletResponse Objekt hängen. Das klappt leider nicht, daher die Frage, was mache ich falsch?
Apache HttpClient 4
Java:
private void requestMyService(HttpServletRequest request, HttpServletResponse response) {
...
HttpPost post = new HttpPost(url.toString());
HttpResponse hr = client.execute(post);
HttpEntity ent = hr.getEntity();
response.setHeader(ent.getContentType().getName(), ent.getContentType().getValue());
response.setHeader("Content-Disposition", hr.getHeaders("Content-Disposition")[0].getValue());
// response.getOutputStream().write(EntityUtils.toByteArray(ent));
ent.writeTo(response.getOutputStream());
}
Eine herkömmliche Anfrage ohne angehängte Datei sieht so aus: (funktioniert auch)
Java:
private void requestMyService(HttpServletRequest request, HttpServletResponse response) {
...
HttpPost post = new HttpPost(url.toString());
HttpResponse hr = client.execute(post);
HttpEntity ent = hr.getEntity();
String res = EntityUtils.toString(ent);
response.setHeader(ent.getContentType().getName(), ent.getContentType().getValue());
response.setCharacterEncoding("UTF-8");
response.getWriter().write(res);
}
Danke im Voraus