4

I'm trying to consume a restful webservice in java using the Apache Wink framework through my school web proxy requiring authentification

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);

I've also tried to use the BasicAuthSecurityHandler but it seems to be used to authenticate directly to a web server, not the web proxy

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

It still fail with a HTTP 407 error code : Proxy Authentication Required.

I've googled the best I could, nothing came up better to consume a webservice from a Java client through a web proxy, if someone has another idea, feel free to respond

JJJ
  • 31,545
  • 20
  • 84
  • 99
Michael Pereira
  • 1,233
  • 1
  • 17
  • 26

2 Answers2

3

Ok that was pretty hard but I found it ! I logged the HTTP requests that were being made from my browser with Fiddler and found out that the Proxy-Connection and Proxy-Authorization were what I was looking for after reading extensive documentation like RFC 2616 about HTTP/1.1

So I copy-pasted the values that were being sent into my java code :

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

where encodedString is what is being sent by my browser : username:password base64 encoded

And it now works perfectly :)

Michael Pereira
  • 1,233
  • 1
  • 17
  • 26
1

This issue was raised as [1] and has since been resolved with the addition of a ProxyAuthSecurityHandler available to Apache Wink client developers.

[1]: https://issues.apache.org/jira/browse/WINK-292 Apache Wink JIRA issue WINK-292