2010-07-01 18 views
15

Uzak bir sunucuya bağlanması gereken bir Eclipse eklentisinde çalışıyorum. ProxyHost ve Port almak için Eclipse ağ ayarlarını kullanmaya çalışıyorum. Yerel makinede ayarlanmışsa, IProxyService ve IProxyData sınıflarını ve ayrıca "Yerel" proxy ayarlarını kullanarak "El ile" ayarları vekilini elde edebildim. Sorun, proxyProvider'ın Yerel olarak ayarlandığında ve Eclipse ayarlarında proxyHost ve Port değerleri dinamik olarak gösterildiğinde ortaya çıkar. Bu değerlere ulaşmanın bir yolu var mı?Tutulması ağ ayarlarından dinamik proxy'ye nasıl erişilir?

Teşekkürler.

+1

Dinamik değil, hedef ana bilgisayara göre javascript işlevi tarafından hesaplanmış mı? IProxyService.select (URI) yöntemini kullanmayı denediniz mi ve hedef URL'nizi orada belirtiniz? –

cevap

0

Sorununuz, eklenti bağlama aşamanızın, çalışma zamanında ana bilgisayarı belirleyen Eclipse'den önce yürütülmesi değil midir? Eclipse'in ağ ayarlarının statik ve dinamik tanımları arasında gördüğüm tek fark bu.

0

Aşağıdakiler, bir proxy ayarlarken her zaman benim için çalışmıştır. tepkiler çocuklar için

System.setProperty("https.proxyHost", "myproxy.domain.com"); 
System.setProperty("https.proxyPort", "myport"); 
1

sayesinde

Bu

Tutulma IProxyService sınıfını kullanarak yapılabilir. Aşağıdaki kod parçacıkları, bazı durumlarda yok sayabileceğiniz yansıma kullanmıştır. Ayrıca vekil izleyiciyi
private ServiceTracker getProxyTracker() throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { 
    if (proxyTracker != null) 
     return proxyTracker; 

    String proxyServiceClassName = "org.eclipse.core.net.proxy.IProxyService"; 
    String bundleClassName = "org.osgi.framework.Bundle"; 
    Class bundleClass = Class.forName(bundleClassName); 
    Method getBundleContextMth = bundleClass.getMethod("getBundleContext", null); 
    getBundleContextMth.setAccessible(true); 

    BundleContext bundleCntx = (BundleContext) getBundleContextMth.invoke(bundle, null); 
    proxyTracker = new ServiceTracker(bundleCntx, proxyServiceClassName, null); 
    proxyTracker.open(); 

    return proxyTracker; 
} 
) vekil etkin olup olmadığını kontrol etmek için "isProxiesEnabled" yöntemini kullanın) bağlı) Bu link ( http://www.vogella.de/blog/2009/12/08/eclipse-rcp-proxy-preference/)

1 bakmak alın eclipse sürümü eclipse proxy bilgilerine (host, userID, password vb.) erişmek için "getProxyDataForHost" veya "select" yöntemini kullanın.

İlgili konular