When I tried using castor to marshall and unmarshall java objects to xml, I got NoClassDefFound errors for org.apache.xml.serialize.XMLSerializer. I assumed this was because crimson (jboss's default xml parser?) didn't have this class and castor assumes that its xml parser does have it.
I toyed around with removing crimson and replacing it with xerces which does have the class in question. The first configuration I found that worked was to leave crimson.jar where it is (<jboss-home>/lib, and then to put the xerces-api and xerces-impl jars in <jboss-home>/server/default/lib.