Hi

Does this in fact mean that you can ingest objects without a valid
authentication? Your explanation seems to indicate this. This, I would
think, is a serious bug.

Regards



On Thu, 2009-06-25 at 02:45 +0200, Willy Mene wrote:
> Ok, I think I found the problem.
> 
> 
> If your http client uses preemptive authorization (i.e. the
> Authorization http header is sent with the encoded username and
> password even before the server gives an unauthorized response) , then
> everything works fine.
> 
> 
> However, if you client does not send this header in the initial
> request and http challenge/response authentication comes into play,
> then we run into this issue of attempted double object creation.  With
> the initial request, Fedora always enters the ingest process and
> creates the object BEFORE the authorization challenge is sent to the
> client.  Therefore, when the client sends the authorization response,
> Fedora finds that the object was already created and we see this
> error.  You can see this in the snippet of the log I sent earlier.
> 
> 
> Fedora 3.1 was working with non-preemptive authorization.  Did
> something change in 3.2?
> 
> 
> Willy
>   
> On Jun 24, 2009, at 6:35 AM, Bill Branan wrote:
> 
> > Hi Willy,
> > 
> > 
> > I just tried this and didn't have any problems. I restarted the
> > server (to make sure there were no lingering sessions) then used
> > Poster to POST to the URL you indicated (different host) with some
> > simple FOXML. I was prompted for authentication by Firefox, followed
> > by a 200 response.
> > 
> > 
> > You mentioned that Fedora appears to be attempting to create the
> > object twice. Does the first attempt to create the object occur
> > before you submit the authentication prompt? Is the object created
> > correctly on the first attempt, or is it just an empty object that
> > happens to have the correct PID?
> > 
> > 
> > Here is the FOXML I used, just for reference:
> > 
> > 
> > <?xml version="1.0" encoding="UTF-8"?>
> > <foxml:digitalObject VERSION="1.1" PID="newpid:foobar"
> > xmlns:foxml="info:fedora/fedora-system:def/foxml#"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > xsi:schemaLocation="info:fedora/fedora-system:def/foxml#
> > http://www.fedora.info/definitions/1/0/foxml1-1.xsd";>
> > <foxml:objectProperties>
> > <foxml:property NAME="info:fedora/fedora-system:def/model#state"
> > VALUE="Active"/>
> > <foxml:property NAME="info:fedora/fedora-system:def/model#label"
> > VALUE="Label"/>
> > </foxml:objectProperties>
> > </foxml:digitalObject>
> > 
> > 
> > Bill
> > 
> > 
> > 
> > On Tue, Jun 23, 2009 at 5:41 PM, Willy Mene <[email protected]>
> > wrote:
> >         I'm playing with our Fedora 3.2 instance and the REST API.
> >          I'm using
> >         the Firefox Poster add-on to do an http POST of some simple
> >         valid
> >         FOXML to the (example)
> >         http://fedorabox:8080/fedora/objects/newpid:foobar
> >          URI and am running into problems.
> >         
> >         The first time I attempt to do the POST, I get the error
> >         "The PID
> >         'newpid:foobar' already exists in the registry; the object
> >         can't be re-
> >         created." even though it is a brand new object.  However, if
> >         I search
> >         Fedora for the object, I do find it was created.  When I
> >         look through
> >         the logs, I see that Fedora tries to create the object twice
> >         with this
> >         one request.
> >         
> >         If I try to POST a second object with a new pid and new
> >         FOXML, the
> >         requests succeeds without error.  Fedora only tries the
> >         ingest once.
> >         
> >         My guess is that the initial authentication handshake with
> >         the first
> >         POST causes Fedora to attempt the ingest twice.  The second
> >         POST
> >         succeeds since the browser is already authenticated, and
> >         doesn't need
> >         to go through the handshake.  I ran into this because I have
> >         some
> >         client software that authenticates with every post (since
> >         it's not a
> >         browser) and I keep running into this problem.  I did not
> >         have this
> >         issue with 3.0 or 3.1.  I have included the stacktrace error
> >         below.
> >         
> >         Has anyone else run into this?  Any help appreciated.
> >         
> >         Thanks,
> >         Willy
> >         
> >         javax.ws.rs.WebApplicationException:
> >         fedora.server.errors.ObjectExistsException: The PID
> >         'newpid:foobar'
> >         already exists in the registry; the object can't be
> >         re-created.
> > 
> > 
> 
> 


------------------------------------------------------------------------------
_______________________________________________
Fedora-commons-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to