- To: idvusers@xxxxxxxxxxxxxxxx
- Subject: Re: Use of http proxy?
- From: Nick Bower <nick.bower@xxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 25 May 2007 15:03:33 +0800
Bummer. Found the real exception and the source - DODS libraries are
using the commons http client, which requires explicit proxy setting at
an application level (ie proxies must be a supported feature of DAP).
But even when skirting DNS availability using hosts file, we go from this,
java.net.UnknownHostException: www.marine.csiro.au at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:519) at java.net.Socket.connect(Socket.java:469) at java.net.Socket.<init>(Socket.java:366) at java.net.Socket.<init>(Socket.java:239)at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:79) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:121) at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:706) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1321) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:386) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
at opendap.dap.DConnect2.openConnection(DConnect2.java:218) to this,C:\Program Files\IDV_2.2>jre\bin\java -Dhttp.proxyHost=proxyhost -Dhttp.proxyPor
t=3128 -Xmx512m -jar idv.jar25/05/2007 14:52:15 org.apache.commons.httpclient.HttpMethodDirector executeWith
RetryINFO: I/O exception (java.net.ConnectException) caught when processing request:
Connection timed out: connect25/05/2007 14:52:15 org.apache.commons.httpclient.HttpMethodDirector executeWith
Retry INFO: Retrying request25/05/2007 14:53:00 org.apache.commons.httpclient.HttpMethodDirector executeWith
RetryINFO: I/O exception (java.net.ConnectException) caught when processing request:
Connection timed out: connectLooking at the source below, it would indeed seem DAP does not support proxies. This is hard to believe - it's more effective than any EULA for curtailing commercial use. I'll take my grumbles to the DAP group I guess... :(
opendap.dap.DConnect2.java:private void openConnection(String urlString, Command command) throws IOException, DAP2Exception, ParseException {
initHttpClient(); GetMethod method = new GetMethod(urlString); method.setFollowRedirects(true); if (acceptCompress)method.setRequestHeader(new Header("Accept-Encoding", "deflate,gzip"));
// enable sessions if (allowSessions) method.setRequestHeader(new Header("X-Accept-Session", "true")); InputStream is = null; try { // Execute the method. int statusCode = _httpClient.executeMethod(method); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nick Bower wrote:
IDV seems to be having trouble with our http proxy (squid). I've set the following global parameters in runIDV.bat in the usual way;-Dhttp.proxyHost=proxyhost -Dhttp.proxyPort=3128however IDV fails to retrieve any data in the Data Chooser. See traceback below. Could it have something to do with IDV insisting DODS URI's begin with dods:// perhaps? What is the recommended solution for using a http proxy?By the way, I can navigate the server in the "Display" / web browsing tab. It's only the Data Chooser that fails.Thanks, Nick An error has occurred: There was an error loading the data:Error creating data source:dods.grid with: http://www.marine.csiro.au/dods/nph-dods/dods-data/bl/SPINUP4/temp/ Grid data source failed making data set: dods://www.marine.csiro.au/dods/nph-dods/dods-data/bl/SPINUP4/temp/ Cant open dods://www.marine.csiro.au/dods/nph-dods/dods-data/bl/SPINUP4/temp/ or as DODS dods://www.marine.csiro.au/dods/nph-dods/dods-data/bl/SPINUP4/temp/www.marine.csiro.aujava.io.FileNotFoundException: Cant open dods://www.marine.csiro.au/dods/nph-dods/dods-data/bl/SPINUP4/temp/ or as DODS dods://www.marine.csiro.au/dods/nph-dods/dods-data/bl/SPINUP4/temp/www.marine.csiro.au at ucar.nc2.dataset.NetcdfDataset.openDODS(NetcdfDataset.java:380) at ucar.nc2.dataset.NetcdfDataset.openFile(NetcdfDataset.java:316) at ucar.nc2.dataset.NetcdfDataset.openDataset(NetcdfDataset.java:175)at ucar.nc2.dataset.NetcdfDatasetCache.acquire(NetcdfDatasetCache.java:203) at ucar.nc2.dataset.NetcdfDatasetCache.acquire(NetcdfDatasetCache.java:183) at ucar.nc2.dataset.NetcdfDatasetCache.acquire(NetcdfDatasetCache.java:171)at ucar.nc2.dt.grid.GridDataset.open(GridDataset.java:71)at ucar.unidata.data.grid.GeoGridDataSource.doMakeDataSet(GeoGridDataSource.java:726) at ucar.unidata.data.grid.GeoGridDataSource.getDataset(GeoGridDataSource.java:743) at ucar.unidata.data.grid.GeoGridDataSource.initAfterCreation(GeoGridDataSource.java:335) at ucar.unidata.data.DataManager.createDataSource(DataManager.java:1186) at ucar.unidata.idv.IntegratedDataViewer.createDataSource(IntegratedDataViewer.java:1698) at ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1617) at ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1595) at ucar.unidata.idv.IntegratedDataViewer.handleAction(IntegratedDataViewer.java:1446)at ucar.unidata.idv.DefaultIdv.handleAction(DefaultIdv.java:112)at ucar.unidata.idv.IntegratedDataViewer.handleAction(IntegratedDataViewer.java:1378) at ucar.unidata.idv.chooser.UrlChooser.loadURLInner(UrlChooser.java:250)at ucar.unidata.idv.chooser.UrlChooser.loadURL(UrlChooser.java:222)at ucar.unidata.idv.chooser.UrlChooser.doLoadInThread(UrlChooser.java:269)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:585) at ucar.unidata.util.Misc$2.run(Misc.java:919) at ucar.unidata.util.Misc$3.run(Misc.java:947) And another example from your own servers...java.io.FileNotFoundException: Cant open dods://motherlode.ucar.edu:8080/thredds/dodsC/modelsNc/NCEP/NAM/CONUS_80km/NAM_CONUS_80km_20070524_1200.nc or as DODS dods://motherlode.ucar.edu:8080/thredds/dodsC/modelsNc/NCEP/NAM/CONUS_80km/NAM_CONUS_80km_20070524_1200.ncmotherlode.ucar.edu at ucar.nc2.dataset.NetcdfDataset.openDODS(NetcdfDataset.java:380) at ucar.nc2.dataset.NetcdfDataset.openFile(NetcdfDataset.java:316) at ucar.nc2.dataset.NetcdfDataset.openDataset(NetcdfDataset.java:175)at ucar.nc2.dataset.NetcdfDatasetCache.acquire(NetcdfDatasetCache.java:203) at ucar.nc2.dataset.NetcdfDatasetCache.acquire(NetcdfDatasetCache.java:183) at ucar.nc2.dataset.NetcdfDatasetCache.acquire(NetcdfDatasetCache.java:171)at ucar.nc2.dt.grid.GridDataset.open(GridDataset.java:71)at ucar.unidata.data.grid.GeoGridDataSource.doMakeDataSet(GeoGridDataSource.java:726) at ucar.unidata.data.grid.GeoGridDataSource.getDataset(GeoGridDataSource.java:743) at ucar.unidata.data.grid.GeoGridDataSource.initAfterCreation(GeoGridDataSource.java:335) at ucar.unidata.data.DataManager.createDataSource(DataManager.java:1186) at ucar.unidata.idv.IntegratedDataViewer.createDataSource(IntegratedDataViewer.java:1698) at ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1617) at ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1595) at ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1576) at ucar.unidata.idv.chooser.IdvChooser.makeDataSource(IdvChooser.java:610) at ucar.unidata.idv.chooser.ThreddsHandler.processNodes(ThreddsHandler.java:842) at ucar.unidata.idv.chooser.ThreddsHandler.processNode(ThreddsHandler.java:782)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:585) at ucar.unidata.util.Misc$2.run(Misc.java:921) at ucar.unidata.util.Misc$3.run(Misc.java:947)
- Follow-Ups:
- Re: Use of http proxy?
- From: John Caron
- Re: Use of http proxy?
- References:
- Use of http proxy?
- From: Nick Bower
- Use of http proxy?