As I prefer to know about XML just the bare minimum that gets me by, so
I can't point to the exact problem... Still looking at the loader code,
this might be some XML namespace issue. Cayenne extracts element
attributes using code like this:

ignoring all other stuff... I wonder if resin's parser doesn't like it.
It would be nice to be able to pick at the XML parts passed to
"startElement". The ideal way to do that is to run resin in debugger,
and insert a breakpoint at ConfigLoader, line 190. Alternatively you
can get Cayenne from CVS and recompile it with debug statements.

Another random idea is to check for another cayenne.xml file floating
around your environment...