Ich habe ein Setup, wo Tomcat-Server Hosting meiner REST-Server Anrufe von HTTP (Port 9080) zu HTTPS (Port 9443) umleitet.Jersey jax.rs Client 2.5 folgen Redirect
Ich benutze Jersey 2.5 Implementierung und kann nicht die Clients konfigurieren, um Weiterleitungen zu folgen.
Ich habe diese Frage SO gefunden (Jersey client doesn't follow redirects), aber es ist für Jersey 1.X-Serie zur Verfügung gestellt und die API hat sich geändert.
Ich habe versucht, es für 2.5 mit dem folgenden Testcode anzupassen:
SSLContextProvider ssl = new TrustAllSSLContextImpl(); // just trust all certs
Response response = ClientBuilder.newBuilder()
.sslContext(ssl.getContext()).newClient()
.register(LoggingFilter.class)
.target("http://testhost.domain.org:9080/rest.webapp/api/v1/hello/")
.property(ClientProperties.FOLLOW_REDIRECTS, Boolean.TRUE)
.request().get();
Assertions.assertThat(response.getStatus()).isNotEqualTo(302);
, die als der Client den folgenden Umleitungen nicht versagt zu sein scheint. Hier ist, was die Protokollierung Filter bieten:
Feb 14, 2014 12:23:45 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > GET http://testhost.domain.org:9080/rest.webapp/api/v1/hello/
Feb 14, 2014 12:23:45 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Client response received on thread main
1 < 302
1 < Cache-Control: private
1 < Content-Length: 0
1 < Date: Fri, 14 Feb 2014 11:38:59 GMT
1 < Expires: Thu, 01 Jan 1970 01:00:00 CET
1 < Location: https://testhost.domain.org:9443/rest.webapp/api/v1/hello/
1 < Server: Apache-Coyote/1.1
Aus dem Trikot doc Es verstand, dass alles, was getan werden muss, ist das ClientProperties.FOLLOW_REDIRECTS Eigentum an den Client hinzufügen, aber dies offensichtlich nicht der case.I zu sein habe auch Nachrichten gefunden, die anzeigen, dass möglicherweise ein clientseitiger Filter den Umleitungen folgen muss, aber keine Beispiele oder Richtlinien dazu gefunden hat.
Also wenn jemand etwas Erfahrung mit jax.rs und Umleitung könnte mich auf einige Richtungen/docs/Beispiel-Code zeigen würde ich wirklich zu schätzen wissen.
ich eine Antwort hier http://stackoverflow.com/questions/1884230/urlconnection-doesnt-follow-redirect gefunden: es von http auf https umgeleitet für nicht funktioniert sicherheits Gründe. –