问题
I am using a RestEasy ProxyFactory to connecting to a REST service. However I need to connect via a web proxy. How do I specify the proxy connection details?
At the moment I am creating the instance using:
MyInterface instance = org.jboss.resteasy.client.ProxyFactory.create(MyInterface.class,url);
instance.doStuff();
However, it does not connect.
RestEasy seems to be using Apache Commons HTTPClient under the covers, which does not allow you to specify a proxy using the standard Java System Properties.
回答1:
Ok I think I've found it by specifying the ClientExecutor:
org.apache.commons.httpclient.HttpClient httpClient = new HttpClient();
httpClient.getHostConfiguration().setProxy(proxyHost,proxyPort);
ClientExecutor executor = new ApacheHttpClientExecutor(httpClient);
MyInterface instance = org.jboss.resteasy.client.ProxyFactory.create(MyInterface.class,url,executor);
来源:https://stackoverflow.com/questions/5249734/how-do-i-specify-a-web-proxy-when-using-resteasy-client-proxy