Kenichi Ando created JCR-3957:
---------------------------------
Summary: Need http proxy support for Davex connection
Key: JCR-3957
URL: https://issues.apache.org/jira/browse/JCR-3957
Project: Jackrabbit Content Repository
Issue Type: Improvement
Components: jackrabbit-spi2dav
Affects Versions: 2.12.1
Reporter: Kenichi Ando
This is an enhancement request for Jackrabbit JCR connection. The current
Jackrabbit implementation does not support http proxy. This would be a problem
for customers whose network requires proxy configurations.
JVM has some system properties related to proxy configurations, such as
http.proxyHost, http.proxyPort and java.net.useSystemProxies. However, these
properties don’t work, because the jackrabbit implementation depends on Apache
HttpClient 3.x, which ignores them.
The way to support proxy is described in the following url.
http://aem-authentication.blogspot.jp/p/new-jcr-api-for-remote-connection.html
According to this blog, it's not difficult to change the code to support proxy.
Actually, when I modify org.apache.jackrabbit.spi2dav.RepositoryServiceImpl to
call hostConfig.setProxy(), the client program can connect to the repository
via proxy server.
~~~~~~~~~~~~~~~
[line#337]
//set proxy host
String proxyHost = System.getProperty("http.proxyHost");
int proxyPort =
Integer.valueOf(System.getProperty("http.proxyPort"));
if (proxyHost != null) {
System.out.println("[setProxy] " + proxyHost +
":" + proxyPort);
hostConfig.setProxy(proxyHost, proxyPort);
}
~~~~~~~~~~~~~~~
[line#554]
// set proxy credentials
String proxyHost = System.getProperty("http.proxyHost");
int proxyPort =
Integer.valueOf(System.getProperty("http.proxyPort"));
String proxyUser = System.getProperty("http.proxyUser");
String proxyPassword =
System.getProperty("http.proxyPassword");
if (proxyHost != null && proxyUser != null) {
System.out.println("[setProxyCredentials] " +
proxyUser + "/" + proxyPassword);
client.getState().setProxyCredentials(
new
AuthScope(proxyHost, proxyPort),
new
UsernamePasswordCredentials(proxyUser, proxyPassword));
}
~~~~~~~~~~~~~~~
Please find the code I modified in attachment.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)