Hi all,
I was wondering about the state of webdav compatibility of the JCR servlet in
Jackrabbit. I realize that others have asked similar questions in the past, but
would still welcome current information. I ran litmus
(http://www.webdav.org/neon/litmus/) against an application that is built on
jackrabbit and it gave a number of protocol errors. I am trying to
differentiate if these differences are due to the need to transport JCR over
webdav or errors in the application or actual protocol misses.
The litmus test is included as an attachment to this email.
Thank you for your time.
Alan Berg
Senior Developer, Informatersingscentruim.
University of Amsterdam
-> running `basic':
0. init.................. pass
1. begin................. pass
2. options............... pass
3. put_get............... pass
4. put_get_utf8_segment.. pass
5. put_no_parent......... pass
6. mkcol_over_plain...... FAIL (MKCOL on plain resource
`/litmus/res-%e2%82%ac' succeeded!)
7. delete................ pass
8. delete_null........... pass
9. delete_fragment....... WARNING: DELETE removed collection resource with
Request-URI including fragment; unsafe
...................... pass (with 1 warning)
10. mkcol................. pass
11. mkcol_again........... FAIL (MKCOL on existing collection should fail
(RFC2518:8.3.1))
12. delete_coll........... pass
13. mkcol_no_parent....... pass
14. mkcol_with_body....... pass
15. finish................ pass
<- summary for `basic': of 16 tests run: 14 passed, 2 failed. 87.5%
-> 1 warning was issued.
-> running `copymove':
0. init.................. pass
1. begin................. pass
2. copy_init............. pass
3. copy_simple........... pass
4. copy_overwrite........ pass
5. copy_nodestcoll....... pass
6. copy_cleanup.......... pass
7. copy_coll............. pass
8. copy_shallow.......... FAIL (collection COPY `/litmus/ccsrc/' to
`/litmus/ccdest/': 403 Forbidden)
9. move.................. pass
10. move_coll............. pass
11. move_cleanup.......... pass
12. finish................ pass
<- summary for `copymove': of 13 tests run: 12 passed, 1 failed. 92.3%
-> running `props':
0. init.................. pass
1. begin................. pass
2. propfind_invalid...... pass
3. propfind_invalid2..... pass
4. propfind_d0........... pass
5. propinit.............. pass
6. propset............... FAIL (PROPPATCH on `/litmus/prop':
http://localhost:8080/litmus/prop: 409 Conflict
)
7. propget............... SKIPPED
8. propextended.......... pass
9. propmove.............. SKIPPED
10. propget............... SKIPPED
11. propdeletes........... SKIPPED
12. propget............... SKIPPED
13. propreplace........... SKIPPED
14. propget............... SKIPPED
15. propnullns............ SKIPPED
16. propget............... SKIPPED
17. prophighunicode....... SKIPPED
18. propget............... SKIPPED
19. propremoveset......... SKIPPED
20. propget............... SKIPPED
21. propsetremove......... SKIPPED
22. propget............... SKIPPED
23. propvalnspace......... SKIPPED
24. propwformed........... pass
25. propinit.............. pass
26. propmanyns............ FAIL (PROPPATCH on `/litmus/prop':
http://localhost:8080/litmus/prop: 409 Conflict
)
27. propget............... FAIL (No value given for property
{http://example.com/kappa}somename)
28. propcleanup........... pass
29. finish................ pass
-> 16 tests were skipped.
<- summary for `props': of 14 tests run: 11 passed, 3 failed. 78.6%
-> running `locks':
0. init.................. pass
1. begin................. pass
2. options............... pass
3. precond............... pass
4. init_locks............ pass
5. put................... pass
6. lock_excl............. pass
7. discover.............. pass
8. refresh............... pass
9. notowner_modify....... pass
10. notowner_lock......... pass
11. owner_modify.......... pass
12. notowner_modify....... pass
13. notowner_lock......... pass
14. copy.................. pass
15. cond_put.............. pass
16. fail_cond_put......... pass
17. cond_put_with_not..... pass
18. cond_put_corrupt_token WARNING: PUT failed with 412 not 423
...................... pass (with 1 warning)
19. complex_cond_put...... pass
20. fail_complex_cond_put. pass
21. unlock................ FAIL (UNLOCK on `/litmus/lockme': 400 Bad Request)
22. fail_cond_put_unlocked pass
23. lock_shared........... FAIL (LOCK on `/litmus/lockme': 412 Precondition
Failed)
24. notowner_modify....... SKIPPED
25. notowner_lock......... SKIPPED
26. owner_modify.......... SKIPPED
27. double_sharedlock..... SKIPPED
28. notowner_modify....... SKIPPED
29. notowner_lock......... SKIPPED
30. unlock................ SKIPPED
31. prep_collection....... pass
32. lock_collection....... pass
33. owner_modify.......... pass
34. notowner_modify....... pass
35. refresh............... pass
36. indirect_refresh...... pass
37. unlock................ pass
38. unmapped_lock......... FAIL (LOCK on /litmus/lockcoll/ via
/litmus/unmapped_url: 423 Locked)
39. unlock................ SKIPPED
40. finish................ pass
-> 8 tests were skipped.
<- summary for `locks': of 33 tests run: 30 passed, 3 failed. 90.9%
-> 1 warning was issued.
-> running `http':
0. init.................. pass
1. begin................. pass
2. expect100............. pass
3. finish................ pass
<- summary for `http': of 4 tests run: 4 passed, 0 failed. 100.0%