Environment:    
        Version:            2.2.16
        Platform OS:    AIX 6.1
        Configuration:  WebDav enabled
        Client:     Windows 7 "Mapped Network Drive"

Here is the interaction:

Client  sends a PUT
Server  responds with a 200
Client  sends a LOCK request
Server  responds with a 200 and this header is in the response:
                Lock-Token: 
<opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>
Client  sends a DELETE and includes this header in the request:
                If: (<opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>)
Server  responds with a 424 Failed Dependency and includes this text in its 
response body:
       <?xml version="1.0" encoding="utf-8"?>
       <D:multistatus xmlns:D="DAV:">
       <D:response>
       <D:href>/TEST_DIR</D:href>
       <D:status>HTTP/1.1 412 Precondition Failed</D:status>
       <D:responsedescription>A validation error has occurred on the parent 
resource, 
       preventing the operation on the resource specified by the Request-URI. 
The error was: 
       The precondition(s) specified by the "If:" header did not match this 
resource. At 
       least one failure is because: a State-token was supplied, but it was not 
found in the 
       locks on this resource.</D:responsedescription>
       </D:response>
       </D:multistatus>

Here is a subset of the Apache Error Log:
      Could not DELETE /TEST_DIR/~$EXCEL_File.xlsx due to a failed precondition 
(e.g. locks).  [424, #0]
     (11)Resource temporarily unavailable: An error occurred on another 
resource, preventing the requested operation on this resource.  [424, #0]

I tried locking/deleting with cadaver, which worked.... it had a slightly 
different "If" header:
     If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> 
(<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)

My question is why did Apache check for the "opaquetoken" against the parent 
collection when the request came from Win7...???

I can't find a requirement to do so in the standard (RFC2518 or RFC4918).

NOTE:  I tried locking/deleting with cadaver, which worked.... it had a 
slightly different "If" header:
     If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> 
(<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)

Any insight would be helpful.

-tony


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to