>>>>>1. Which line exactly do you get the error? + the stack trace may help.
it is when I attempt to get identifier:
System.out.println("Identifier:"+ node.getIdentifier());
after of session.save()
>>>>>2. The code looks ok to me, can you run this successfully in a
non-clustered env to see if it's a clustering issue?
you are right!, in a non-clustered env works fine! so I think that
node.getIdentifier(), are served for another cluster-node not synchronized
yet.
here the log:
42371 DEBUG httpclient.wire.header - >> "GET
/fsnjcr/server/shcpWS/jcr%3aroot/testweb/1316017859103.0.json
HTTP/1.1[\r][\n]"
42371 DEBUG org.apache.commons.httpclient.HttpMethodBase - Adding Host
request header
42386 DEBUG httpclient.wire.header - >> "Authorization: Basic
dXNlcm5hbWU6cGFzc3dvcmQ=[\r][\n]"
42386 DEBUG httpclient.wire.header - >> "User-Agent: Jakarta
Commons-HttpClient/3.1[\r][\n]"
42386 DEBUG httpclient.wire.header - >> "Content-Length: 0[\r][\n]"
42386 DEBUG httpclient.wire.header - >> "[\r][\n]"
42386 DEBUG org.apache.commons.httpclient.methods.EntityEnclosingMethod -
Request body has not been specified
42386 DEBUG httpclient.wire.header - << "HTTP/1.1 404 Not Found[\r][\n]"
42386 DEBUG httpclient.wire.header - << "HTTP/1.1 404 Not Found[\r][\n]"
42386 DEBUG httpclient.wire.header - << "Date: Wed, 14 Sep 2011 16:31:21
GMT[\r][\n]"
42386 DEBUG httpclient.wire.header - << "Server:
Oracle-Application-Server-10g/10.1.3.1.0 Oracle-HTTP-Server[\r][\n]"
42386 DEBUG httpclient.wire.header - << "Transfer-Encoding:
chunked[\r][\n]"
42386 DEBUG httpclient.wire.header - << "Content-Type: text/html[\r][\n]"
42386 DEBUG httpclient.wire.header - << "[\r][\n]"
42386 DEBUG org.apache.jackrabbit.webdav.DavException - DavException:
(404) Unable to retrieve NodeInfo for
http://localhost/fsnjcr/server/shcpWS/jcr%3aroot/testweb/1316017859103
42402 DEBUG httpclient.wire.content - << "5"
42402 DEBUG httpclient.wire.content - << "9"
42402 DEBUG httpclient.wire.content - << " "
42402 DEBUG httpclient.wire.content - << "[\r]"
42402 DEBUG httpclient.wire.content - << "[\n]"
42402 DEBUG httpclient.wire.content - << "< HTML><HEAD><TITLE>404 Not
Found</TITLE></HEAD><BODY>404 Not Found</BODY></HTML>"
42402 DEBUG httpclient.wire.content - << "[\r]"
42402 DEBUG httpclient.wire.content - << "[\n]"
42402 DEBUG httpclient.wire.content - << "0"
42402 DEBUG httpclient.wire.content - << "[\r]"
42402 DEBUG httpclient.wire.content - << "[\n]"
42402 DEBUG httpclient.wire.content - << "[\r]"
42402 DEBUG httpclient.wire.content - << "[\n]"
42402 DEBUG httpclient.wire.header - << "[\r][\n]"
42402 DEBUG org.apache.commons.httpclient.HttpMethodBase - Resorting to
protocol version default close connection policy
42402 DEBUG org.apache.commons.httpclient.HttpMethodBase - Should NOT
close connection, using HTTP/1.1
42402 DEBUG org.apache.commons.httpclient.HttpConnection - Releasing
connection back to connection manager.
42402 DEBUG
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager - Freeing
connection, hostConfig=HostConfiguration[host=http://localhost]
42402 DEBUG org.apache.commons.httpclient.util.IdleConnectionHandler -
Adding connection at: 1316017881518
42402 DEBUG
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager - Notifying
no-one, there are no waiting threads
42402 DEBUG org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntryImpl -
Item '{}1316017859103' cannot be found on the persistent layer -> remove.
42402 DEBUG org.apache.jackrabbit.jcr2spi.ItemCacheImpl - destroyed item
org.apache.jackrabbit.jcr2spi.NodeImpl@1b158db
42402 DEBUG org.apache.jackrabbit.jcr2spi.ItemCacheImpl - removing item
org.apache.jackrabbit.jcr2spi.state.NodeState@801059 from cache
42402 DEBUG org.apache.jackrabbit.jcr2spi.ItemCacheImpl - destroyed item
org.apache.jackrabbit.jcr2spi.PropertyImpl@1cfd3b2
42402 DEBUG org.apache.jackrabbit.jcr2spi.ItemCacheImpl - removing item
org.apache.jackrabbit.jcr2spi.state.PropertyState@19ccba from cache
42418 DEBUG org.apache.jackrabbit.jcr2spi.ItemCacheImpl - destroyed item
org.apache.jackrabbit.jcr2spi.PropertyImpl@b113c7
42418 DEBUG org.apache.jackrabbit.jcr2spi.ItemCacheImpl - removing item
org.apache.jackrabbit.jcr2spi.state.PropertyState@83d37a from cache
42418 DEBUG org.apache.jackrabbit.jcr2spi.ItemCacheImpl - destroyed item
org.apache.jackrabbit.jcr2spi.PropertyImpl@1de6817
42418 DEBUG org.apache.jackrabbit.jcr2spi.ItemCacheImpl - removing item
org.apache.jackrabbit.jcr2spi.state.PropertyState@31ff23 from cache
Exception in thread "main" javax.jcr.InvalidItemStateException: Item
'org.apache.jackrabbit.jcr2spi.NodeImpl@1b158db' doesn't exist anymore.
(Status = REMOVED)
at org.apache.jackrabbit.jcr2spi.ItemImpl.checkStatus(ItemImpl.java:444)
at
org.apache.jackrabbit.jcr2spi.NodeImpl.getIdentifier(NodeImpl.java:559)
at
test.gob.shcp.client.RepositoryConnection.main(RepositoryConnection.java:30)
>>>>>3. Maybe try using the JCR1 way (node.getUUID()) and see if that
works/fails. Obviously not an ideal solution but might help pinpoint the
problem.
node.getUUID() fails.
So I think that I need to get sessions from only one cluster-node, but, i
don't know how do it,
or I wonder if is possible to force the cluster-node to synchronize before
to call getIdentifier() method.
or is bad idea (design) clustering WebDav server ?
What do you think?
thanks for your help!
--
View this message in context:
http://jackrabbit.510166.n4.nabble.com/Remote-Access-by-DavEx-tp3811610p3813549.html
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.