Re: [netcdf-java] access opendap site over https

Hi John,

Thanks for this.  I notice that the HttpClient is set on static methods,
i.e. on a per-VM basis.  In future API revisions would it be possible to
add the facility to specify an HttpClient object on a per-dataset basis,
e.g.:

NetcdfDataset nd = NetcdfDataset.openDataset("http://my.opendap.url/";,
myHttpClient);

The reason for this is that in a server environment (in which a server
is making requests to other servers on behalf of users), one might wish
to use different HttpClient objects for different users (with different
credentials).  There are probably other reasons too.

Cheers, Jon

-----Original Message-----
From: John Caron [mailto:caron@xxxxxxxxxxxxxxxx] 
Sent: 23 March 2010 19:56
To: Jonathan Blower
Cc: Adit Santokhee; netcdf-java@xxxxxxxxxxxxxxxx
Subject: Re: [netcdf-java] access opendap site over https

On 3/23/2010 9:20 AM, Jonathan Blower wrote:
>> Have you tried using http:\server\thredds\dodsC\TRL\temperature.nc
and
>>      
>    
>> allowing the https handshake to happen lower down?
>>      
> The problem is that in this case we need to provide a client
> certificate.  If we could get a handle to the HttpClient object (which
I
> think is used to make HTTP calls under the hood?) we could probably
set
> it up to perform the handshake.
>    

ok, i think this is orthogonal to the https: issue.

Basically you have to make an HttpClient object and pass it in to 
various classes. You can use HttpClientManager to create one, or make it

yourself. Here is the standarad init sequence used in ToolsUI (GUI):

     CredentialsProvider provider = new 
thredds.ui.UrlAuthenticatorDialog(frame);
     HttpClient client = HttpClientManager.init(provider, "ToolsUI");
     opendap.dap.DConnect2.setHttpClient(client);
     HTTPRandomAccessFile.setHttpClient(client);
     CdmRemote.setHttpClient(client);
     NetcdfDataset.setHttpClient(client);
     WmsViewer.setHttpClient(client);

caveats:

1) thredds.ui.UrlAuthenticatorDialog is for GUIs only.
2) we are in the midst of switching to use of HttpClient version 4, 
which will affect the API, since the above HttpClient class is from 
HttpClient 3.

  we are considering how to make this easier to use, so suggestions are 
welcome. We also have been waiting for this switch to HttpClient 4 to 
tackle some outstanding problems, eg self-signed certificates, proxy 
credentials, etc. we expect to switch in CDM release 4.2 (about a month 
away). not sure how many issues we will have fixed, but at least we'll 
be on the right code base.

I will add this info to the document at:

http://www.unidata.ucar.edu/software/netcdf-java/reference/HTTPauthentic
ation.html

which is still useful as background.

> Cheers, Jon
>
> -----Original Message-----
> From: netcdf-java-bounces@xxxxxxxxxxxxxxxx
> [mailto:netcdf-java-bounces@xxxxxxxxxxxxxxxx] On Behalf Of John Caron
> Sent: 23 March 2010 15:15
> To: Adit Santokhee
> Cc: netcdf-java@xxxxxxxxxxxxxxxx
> Subject: Re: [netcdf-java] access opendap site over https
>
> On 3/23/2010 9:00 AM, Adit Santokhee wrote:
>    
>> Hi,
>>
>> I am trying to access an opendap site over https using a certificate.
>> However, it is not working:
>>
>> java.io.FileNotFoundException:
>> https:\server\thredds\dodsC\TRL\temperature.nc (The filename,
>> directory name, or volume label syntax is incorrect)
>>         at java.io.RandomAccessFile.open(Native Method)
>>         at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
>>         at java.io.RandomAccessFile.<init>(RandomAccessFile.java:98)
>>         at
>> ucar.unidata.io.RandomAccessFile.<init>(RandomAccessFile.java:232)
>>         at ucar.nc2.NetcdfFile.getRaf(NetcdfFile.java:521)
>>         at ucar.nc2.NetcdfFile.open(NetcdfFile.java:386)
>>         at
>>
>>      
>
ucar.nc2.dataset.NetcdfDataset.openOrAcquireFile(NetcdfDataset.java:679)
>    
>>         at
>> ucar.nc2.dataset.NetcdfDataset.openDataset(NetcdfDataset.java:434)
>>
>> What would you recommend trying?
>>
>> Cheers,
>> Adit
>>
>>
>> _______________________________________________
>> netcdf-java mailing list
>> netcdf-java@xxxxxxxxxxxxxxxx
>> For list information or to unsubscribe, visit:
>> http://www.unidata.ucar.edu/mailing_lists/
>>      
> Have you tried using http:\server\thredds\dodsC\TRL\temperature.nc and
> allowing the https handshake to happen lower down?
>
> We are also modifying our code to allow https: in the dataset URLs.
>
> _______________________________________________
> netcdf-java mailing list
> netcdf-java@xxxxxxxxxxxxxxxx
> For list information or to unsubscribe, visit:
> http://www.unidata.ucar.edu/mailing_lists/
>    



  • 2010 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-java archives: