2010-06-08 5 views
5

Ich bin mit org.apache.http.HttpResponseWie kann ich eine leere Dummy Httpresponse erstellen

ich ein leeres Dummy resposne erstellen möchten, werde ich dies verwenden, um zurückzukehren, wenn Fehler statt vorbei zurück null auftreten .

Ich habe versucht, eine zu schaffen, und es hat von seltsamen params verloren. Kann mir jemand sagen, wie man einen erstellt?

+1

* "es hat von seltsamen params verloren" * das ist zu vage. Sie müssen das mehr klären. Beachten Sie: ignorieren Sie Fehler nicht, interpretieren Sie sie. Sie erzählen etwas über die Ursache. Sobald eine Ursache verstanden ist, ist die Lösung offensichtlich. – BalusC

Antwort

1

Implementieren Sie einfach HttpResponse mit No-Op-Methoden.

+0

auf meinem System HttpServletResponse existiert nicht, nur HttpResponse – jax

+0

oh, Sie verwenden http-Client. gut, aktualisiert. – Bozho

+0

Wie auch immer, ich implementierte es und es gibt eine ganze Reihe von Methoden, die außer Kraft gesetzt werden müssen. Ist es in Ordnung, diese einfach leer zu lassen? Beim Aufruf von HttpEntity entity = response.getEntity(); Ich möchte nicht, dass ein Fehler auftritt, ich möchte nur, dass der Stream eine leere Zeichenfolge ist – jax

0

In der Tat scheint die Implementierung einer HttpServletResponse ziemlich viel Arbeit, und Sie werden von der tatsächlichen Servlet-Implementierung abhängig sein.

ich glaube, ich request.getRequestDispatcher("/dummy.html").forward(request, response)

+2

Er spricht über Apache Commons HttpClient, nicht über Servlets. http://hc.apache.org/httpcomponents-core/httpcore/apidocs/org/apache/http/HttpResponse.html Übrigens, auf einem Servlet wäre es einfach, einfach die Antwort nicht berühren. – BalusC

16

Je nachdem, welche Version von commons Sie verwenden verwenden würde, möchten Sie vielleicht DefaultHttpResponseFactory versuchen. Auf diese Weise erstellt die Bibliothek einige ihrer Antworten intern, so dass sie Ihren Zwecken dienen oder nicht.

import org.apache.http.HttpStatus; 
import org.apache.http.HttpResponse; 
import org.apache.http.HttpResponseFactory; 
import org.apache.http.HttpVersion; 
import org.apache.http.impl.DefaultHttpResponseFactory; 
import org.apache.http.message.BasicStatusLine; 

HttpResponseFactory factory = new DefaultHttpResponseFactory(); 
HttpResponse response = factory.newHttpResponse(new BasicStatusLine(HttpVersion.HTTP_1_1, HttpStatus.SC_OK, null), null); 
+1

HINZUFÜGEN VON DATEN IM HttpResponse-Objekt –

+0

response.setEntity (entity); – Brian

Verwandte Themen