Hello Oliver,

thank you for your answer.

Here is the code snippet (sorry for the linebreaks but
this is the best what i can get with yahoo).


  try
        {
            String parentPath =
PathUtils.getParentUrl(rootPath);
           
manager.currentResource.setPath(URIUtil.getPath(parentPath));
            
            executed =
manager.currentResource.startTransaction(manager.currentResource.getHttpURL().getUser(),
600);
            executed = executed ?
manager.currentResource.mkcolMethod(rootPath): false;
                executed = executed ?
manager.currentResource.proppatchMethod(rootPath, new
PropertyName("DAV:" , EXWebdavResource.TYPE),
ItemTypes.getStringType(ItemTypes.Project), true):
false;
                executed = executed ?
manager.currentResource.putMethod(this.contentFilePath,
content): false;
                executed = executed ?
manager.currentResource.proppatchMethod(contentFilePath,
new PropertyName("DAV:" , EXWebdavResource.TYPE),
ItemTypes.getStringType(ItemTypes.ContentFile), true):
false;
                executed = executed ?
manager.currentResource.commitTransaction(): false;
                
                if(executed)
                {// here when i try to create the new
WebdavResource the client hangs as i described in my
previous mail
                    WebProjectItem webProjectItem = new
WebProjectItem(new WebdavResource( new
HttpURL(rootPath)),
manager.getProjectRelativePath(rootPath),
ItemTypes.ProjectMngr);
                    
                    return webProjectItem;
                }
                else
                {                   
                    executed =
manager.currentResource.abortTransaction();
                    return manager.getLastStatusMessage();
                }
        }
        catch(Exception exc)
        {
            executed = false;
            
            try
            {
               
manager.currentResource.abortTransaction();
            }
            catch(Exception transExc){}
            
            return manager.getLastStatusMessage();
        }

Some explanation:

 manager - is a manager class where i have stored a
WebdavResource (currentResource)
 rootPath - is a full url like
"http://test.org:8080/container/Projects/newProject";

The target of this code snipet is:
1. create the "newProject" collection, 
2. add a new property like "type" to this collection
3. upload a new file in this collection
4. add a new property to this new file

Thank you.

Here is the log snipet from the server, maybe this
helps too.

02 Oct 2004 13:17:23 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved event with name 'transaction:begin':
[EMAIL PROTECTED]
http8080-Processor23, 02-Oct-2004 13:17:23, root,
LOCK, 200 "OK", 125 ms, /Projects/
02 Oct 2004 13:17:24 -
org.apache.slide.webdav.method.AbstractWebdavMethod -
INFO - Using external transaction
<opaquelocktoken:50bca276b04d8297918e73a1b87ccf1a>
02 Oct 2004 13:17:24 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved vetoable event with name 'webdav:mkcol':
[EMAIL PROTECTED]
02 Oct 2004 13:17:24 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved vetoable event with name 'content:create':
org.apache.slide.event.ContentEvent[content
uri=/Projects/lowproject contentType=]
http8080-Processor23, 02-Oct-2004 13:17:24, root,
MKCOL, 201 "Created", 188 ms, /Projects/lowproject
02 Oct 2004 13:17:24 -
org.apache.slide.webdav.method.AbstractWebdavMethod -
INFO - Using external transaction
<opaquelocktoken:50bca276b04d8297918e73a1b87ccf1a>
02 Oct 2004 13:17:24 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved vetoable event with name 'webdav:proppatch':
[EMAIL PROTECTED]
02 Oct 2004 13:17:24 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved vetoable event with name 'content:store':
org.apache.slide.event.ContentEvent[content
uri=/Projects/lowproject contentType=]
http8080-Processor23, 02-Oct-2004 13:17:24, root,
PROPPATCH, 207 "Multi-Status", 172 ms,
/Projects/lowproject
02 Oct 2004 13:17:24 -
org.apache.slide.webdav.method.AbstractWebdavMethod -
INFO - Using external transaction
<opaquelocktoken:50bca276b04d8297918e73a1b87ccf1a>
02 Oct 2004 13:17:24 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved vetoable event with name 'webdav:put':
[EMAIL PROTECTED]
02 Oct 2004 13:17:25 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved vetoable event with name 'content:create':
org.apache.slide.event.ContentEvent[content
uri=/Projects/lowproject/content.xml
contentType=text/xml]
http8080-Processor23, 02-Oct-2004 13:17:24, root, PUT,
201 "Created", 1328 ms,
/Projects/lowproject/content.xml
02 Oct 2004 13:17:26 -
org.apache.slide.webdav.method.AbstractWebdavMethod -
INFO - Using external transaction
<opaquelocktoken:50bca276b04d8297918e73a1b87ccf1a>
02 Oct 2004 13:17:26 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved vetoable event with name 'webdav:proppatch':
[EMAIL PROTECTED]
02 Oct 2004 13:17:26 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved vetoable event with name 'content:store':
org.apache.slide.event.ContentEvent[content
uri=/Projects/lowproject/content.xml
contentType=text/xml]
http8080-Processor23, 02-Oct-2004 13:17:26, root,
PROPPATCH, 207 "Multi-Status", 125 ms,
/Projects/lowproject/content.xml
02 Oct 2004 13:17:26 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved vetoable event with name
'transaction:commit':
[EMAIL PROTECTED]
02 Oct 2004 13:17:26 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved vetoable event with name
'event-collection:vetoable-collected':
org.apache.slide.event.EventCollection[collected
events=
[org.apache.slide.event.EventCollection$Event
[name=webdav:mkcol]]
[org.apache.slide.event.EventCollection$Event
[name=content:create, information:
uri=/Projects/lowproject]]
[org.apache.slide.event.EventCollection$Event
[name=webdav:proppatch]]
[org.apache.slide.event.EventCollection$Event
[name=content:store, information:
uri=/Projects/lowproject]]
[org.apache.slide.event.EventCollection$Event
[name=webdav:put]]
[org.apache.slide.event.EventCollection$Event
[name=content:create, information:
uri=/Projects/lowproject/content.xml]]
[org.apache.slide.event.EventCollection$Event
[name=webdav:proppatch]]
[org.apache.slide.event.EventCollection$Event
[name=content:store, information:
uri=/Projects/lowproject/content.xml]]]
02 Oct 2004 13:17:26 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved event with name 'transaction:commited':
[EMAIL PROTECTED]
http8080-Processor23, 02-Oct-2004 13:17:26, root,
UNLOCK, 200 "OK", 218 ms, /Projects/
02 Oct 2004 13:17:26 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved event with name 'event-collection:collected':
org.apache.slide.event.EventCollection[collected
events=
[org.apache.slide.event.EventCollection$Event
[name=webdav:mkcol]]
[org.apache.slide.event.EventCollection$Event
[name=content:create, information:
uri=/Projects/lowproject]]
[org.apache.slide.event.EventCollection$Event
[name=webdav:proppatch]]
[org.apache.slide.event.EventCollection$Event
[name=content:store, information:
uri=/Projects/lowproject]]
[org.apache.slide.event.EventCollection$Event
[name=webdav:put]]
[org.apache.slide.event.EventCollection$Event
[name=content:create, information:
uri=/Projects/lowproject/content.xml]]
[org.apache.slide.event.EventCollection$Event
[name=webdav:proppatch]]
[org.apache.slide.event.EventCollection$Event
[name=content:store, information:
uri=/Projects/lowproject/content.xml]]
[org.apache.slide.event.EventCollection$Event
[name=event-collection:vetoable-collected]]
[org.apache.slide.event.EventCollection$Event
[name=transaction:commit]]]
02 Oct 2004 13:17:26 -
org.apache.slide.util.event.EventLogger - INFO -
Recieved event with name 'transaction:begin':
[EMAIL PROTECTED]



--- Oliver Zeigermann <[EMAIL PROTECTED]> wrote:

> Hi Zoltan,
> 
> it is pretty hard to tell what is actually going on
> without seeing the 
> code. I however suspect the PROPFIND is done on a
> resource that is still 
> locked by another transaction that has not been
> committed or rolled 
> back. As this is on the server side it is of no use
> to restart the 
> client. Try to have something like a commit/rollback
> in finally blocks 
> to make very sure all transactions are properly
> terminated.
> 
> By the way, what is the underlying persistence
> store? Depending on this 
> there are different ways to find out what locks are
> on what resources. 
> Note that Slide does no additional locking when
> running external 
> transactions.
> 
> Hope this helps otherwise please show us the code,
> 
> Oliver
> 
> 
> L Z schrieb:
> 
> > Hello slide users,
> > 
> > I am using slide 2.1b1 server and client.
> > I tried to use the external transaction feature in
> the
> > following way:
> > 
> > init a WebdavResource 
> > startTransaction();
> > mkcolMethod(); (create a new collection)
> > proppatchMethod(); (on the newly created
> collection)
> > putMethod(); (put a new file in the newly created
> > collection)
> > commitTransaction();
> > 
> > everything works fine, the resources are created
> when
> > i call the commitTransaction() but after this i am
> not
> > able to create a new WebdavResource() object. I
> > debugged it and i figured out that when the first
> > PROPFIND method is issued (to get the basic
> > properties) the server won't respond.
> > It also don't works if i restart the client. I had
> to
> > restart the server then it works. 
> > 
> > Can somebody help me, please?
> > 
> > Thank you,
> > Zoltan.
> > 
> > 
> >             
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Mail - 50x more storage than other
> providers!
> > http://promotions.yahoo.com/new_mail
> > 
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> > For additional commands, e-mail:
> [EMAIL PROTECTED]
> > 
> > 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
> 
> 



                
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to