Frage

Ich versuche, einen erholsamen Webservice in Java zu konsumieren, indem ich die Apache Wink Framework über meinen Schul -Web -Proxy, der Authentifizierung erfordert

ClientConfig clientConfig = new ClientConfig();
clientConfig.proxyHost("proxy.school.com");
clientConfig.proxyPort(3128);
//nothing to set username and password :(

RestClient client = new RestClient(clientConfig);
Resource resource = client.resource("http://vimeo.com/api/v2/artist/videos.xml");
String response = resource.accept("text/plain").get(String.class);

Ich habe auch versucht, das zu benutzen BasicAuthSecurityHandler Es scheint jedoch verwendet zu werden, sich direkt mit einem Webserver zu authentifizieren, nicht mit dem Web -Proxy

BasicAuthSecurityHandler basicAuthHandler = new BasicAuthSecurityHandler();
basicAuthHandler.setUserName("username");
basicAuthHandler.setPassword("password");
config.handlers(basicAuthHandler);

Es fällt immer noch mit einem HTTP 407 -Fehlercode: Proxy -Authentifizierung erforderlich.

Ich habe das Beste gegoogelt, was ich konnte. Nichts kam besser, um einen Webservice von einem Java -Kunden über einen Web -Proxy zu konsumieren. Wenn jemand eine andere Idee hat, kann man gerne antworten, um zu antworten

War es hilfreich?

Lösung

Ok, das war ziemlich schwer, aber ich habe es gefunden! Ich habe die HTTP -Anfragen angemeldet, die mit meinem Browser mit gestellt wurden Geiger und fand heraus, dass die Proxy-Connection und Proxy-Authorization waren das, wonach ich suchte, nachdem ich umfangreiche Dokumentationen gelesen habe wie wie RFC 2616 über http/1.1

Also kopierte ich die Werte, die in meinen Java-Code gesendet wurden:

resource.header("Proxy-Connection", "Keep-Alive");
resource.header("Proxy-Authorization", "Basic encodedString");

wo encodedString ist das, was von meinem Browser gesendet wird: username:password Base64 codiert

Und es funktioniert jetzt perfekt :)

Andere Tipps

Dieses Problem wurde als [1] aufgeworfen und seitdem mit einem ProxyauthSecurityHandler gelöst, der Apache Wink -Client -Entwicklern zur Verfügung steht.

[1]: https://issues.apache.org/jira/browse/wink-292 Apache Wink Jira Problem Wink-292

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top