Hey guys,

Ok, I've attached a sanitized install.properties file from this box to  
the JIRA issue.  It is a test box, so we've turned off XACML policy  
enforcement and the API-M SSL requirement.  Maybe it is some kind of  
configuration issue on our end.  Let me know if you need any more info.

Thanks,
Willy


On Jun 25, 2009, at 12:37 PM, Chris Wilper wrote:

> Hi Willy,
>
> I was unable to reproduce this also...looks like we need more detail
> on the environment where this is happening.  Although we haven't been
> able to verify it yet, I figured it'd be good to put this in the
> tracker:
>
> http://fedora-commons.org/jira/browse/FCREPO-510
>
> Can you attach your install.properties and any more detail you have on
> your environment there?
>
> Thanks,
> Chris
>
> On Thu, Jun 25, 2009 at 9:30 AM, Bill Branan<[email protected] 
> > wrote:
>> Hi Willy,
>> When the first, unauthenticated, request is passed in it should be  
>> caught
>> and rejected during the authorization check, since there is no  
>> available
>> user. Do you happen to have your XACML policies set in such a way  
>> that would
>> allow any user to perform an ingest function?
>> Of course, the unauthenticated call should not be passed through in  
>> the
>> first place. We're still trying to reproduce this. Could you tell  
>> us a bit
>> more about your environment?
>> Has anyone else seen this behavior?
>> Thanks,
>> Bill
>>
>> On Wed, Jun 24, 2009 at 8:45 PM, Willy Mene <[email protected]>  
>> 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
>>
>>


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

Reply via email to