Re: [netcdf-java] OPeNDAP authentication using nj22

Aha, changing the URL to dods:// worked, thanks!

Jon

On Dec 14, 2007 10:22 PM, John Caron <caron@xxxxxxxxxxxxxxxx> wrote:
> ok, having actually read your message below, it appears that the opendap
> call is failing, so the netcdf-java tries an HTTP request that needs the
> getRange() capabity. to remove that possibility, change your URL from
> http://etc to dods://etc.
>
> an error message may be coming out in your logs (if that is set up). you
> might try following it in the debugger if you can and see why it fails.
> also check that it really is succeeding in the ToolsUI at the exact time
> its failing in you code.
>
> im at a conference so cant help much more till next week...
>
>
> Jon Blower wrote:
> > Further information on this: I can connect successfully to the server
> > in question using the toolsUI-2.2.22.jar, but I still can't via my own
> > application.  I've had a quick look at the code for HttpClientManager
> > and HTTPRandomAccessFile and perhaps there is a call to
> > setDoAuthentication() missing?
> >
> > Cheers, Jon
> >
> > On Dec 13, 2007 9:12 PM, Jon Blower <jdb@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> >> Thanks John, and everyone else who replied.
> >>
> >> I'm now experimenting with trying to get OPeNDAP authentication
> >> working in version 2.2.22.  I have a very simple main() method that
> >> simply tries to open a NetcdfDataset from an OPeNDAP URL, where the
> >> OPeNDAP server requires authentication:
> >>
> >>     public static void main(String[] args) throws Exception
> >>     {
> >>         HttpClientManager.init(new CredentialsProvider(){
> >>             public Credentials getCredentials(AuthScheme scheme,
> >>                        String host, int port, boolean proxy)
> >>                        throws CredentialsNotAvailableException
> >>             {
> >>                 System.out.println("Called Credentials Provider!");
> >>                 throw new CredentialsNotAvailableException();
> >>             }
> >>         }, null);
> >>
> >>         NetcdfDataset nc = NetcdfDataset.openDataset("http://myurl";);
> >>         nc.close();
> >>     }
> >>
> >> When I run this I get an error message:
> >>
> >>     Server does not support byte Ranges
> >>     at 
> >> ucar.unidata.io.http.HTTPRandomAccessFile.<init>(HTTPRandomAccessFile.java:99)
> >>
> >> which, having delved through the nj22 code, actually just means that
> >> the call to get the value of the Accept-Ranges header does not return
> >> what is expected.  I assume that the real reason that the call fails
> >> is that the server requires authentication.  The simple
> >> CredentialsProvider that I have written in the above code never gets
> >> called.
> >>
> >> Could anyone please shed some light on this, or perhaps provide a code
> >> snippet of the right way to go about this?
> >>
> >> Thanks very much,
> >> Jon
> >>
> >>
> >> On Nov 26, 2007 7:24 PM, John Caron <caron@xxxxxxxxxxxxxxxx> wrote:
> >>
> >>> Hi Jon:
> >>>
> >>> ucar.nc2.dataset.HttpClientManager is in 2.2.22 release. I beleive it was 
> >>> added at 2.2.19.
> >>>
> >>>
> >>> Jon Blower wrote:
> >>>
> >>>> Hi all,
> >>>>
> >>>> I'm trying to read data from an authenticated OPeNDAP server.  I've
> >>>> found the page 
> >>>> http://www.unidata.ucar.edu/software/netcdf-java/reference/HTTPauthentication.html,
> >>>> which says that I should create a CredentialsProvider and register it
> >>>> using ucar.nc2.dataset.HttpClientManager.init().  However, there is no
> >>>> class called HttpClientManager in the ucar.nc2.dataset package, or
> >>>> indeed anywhere in the nj22 distribution that I can see.
> >>>>
> >>>> What is the best way to read data from authenticated OPeNDAP servers?
> >>>> I am using nj22 version 2.2.16.
> >>>>
> >>>> Thanks, Jon
> >>>>
> >>>>
> >>
> >>
> >> --
> >> --------------------------------------------------------------
> >> Dr Jon Blower              Tel: +44 118 378 5213 (direct line)
> >> Technical Director         Tel: +44 118 378 8741 (ESSC)
> >> Reading e-Science Centre   Fax: +44 118 378 6413
> >> ESSC                       Email: jdb@xxxxxxxxxxxxxxxxxxxx
> >> University of Reading
> >> 3 Earley Gate
> >> Reading RG6 6AL, UK
> >> --------------------------------------------------------------
> >>
> >>
> >
> >
> >
> >
>



-- 
--------------------------------------------------------------
Dr Jon Blower              Tel: +44 118 378 5213 (direct line)
Technical Director         Tel: +44 118 378 8741 (ESSC)
Reading e-Science Centre   Fax: +44 118 378 6413
ESSC                       Email: jdb@xxxxxxxxxxxxxxxxxxxx
University of Reading
3 Earley Gate
Reading RG6 6AL, UK
--------------------------------------------------------------