Thanks for your answer.
I tried to create the mapping class using my object class loader, but it didn't work.
In fact, my problem was that I had forgotten to package the Castor XML library in my EAR archive, so my JBoss instance used the castor classes deployed by the snmp-adaptor.sar archive.
After packaging my EAR with castor-xml.0.9.5.3.jar, I got other problems but solved the class not found exception.
Regards AR
Le Fri, 26 Nov 2004 10:13:42 -0500, Leo Joncas <[EMAIL PROTECTED]> a �crit:
Sounds like a class loader problem.
We use Castor in a J2EE (JBoss/Tomcat) environment. When we create an instance of the Castor Mapping class, we use the constructor where we can specify a class loader, as in
Mapping CASTOR_REQUEST_MAPPING = new Mapping(some_class_of_yours.class.getClassLoader()); : CASTOR_REQUEST_MAPPING.loadMapping(REQUEST_MAPPING_URL);
where "some_class_of_yours" is any class you choose in your WAR. REQUEST_MAPPING_URL is the URL for your mapping file (generated via a local entity resolver or whatever mechanism you choose).
Leo Joncas
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, November 26, 2004 9:44 AM To: [EMAIL PROTECTED] Subject: [castor-user] Mapping exception error
Hi all,
I want to use Costor to marshal objects to XML stream in a J2EE environment.
I have to marshal an ArrayList of MyObject entity objects. These objects aren't Entity Beans, but plain Java objects mapped to a database using Hibernate.
I created a simple mapping file :
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd"> <mapping> <description>Country List mapping</description> <class name="java.util.ArrayList" auto-complete="true"> <map-to xml="myobjects" /> </class> </mapping>
All works fine. I get :
<?xml version="1.0" encoding="UTF-8"?> <myobjects> <my-object num="1"> <attr1>Value 1-1</attr1> <attr2>Value 1-2</attr2> <attr3>Value 1-3</attr3> </my-object> <my-object num="2"> <attr1>Value 2-1</attr1> <attr2>Value 2-2</attr2> <attr3>Value 2-3</attr3> </my-object> </myobjects>
Now I wanted to change the mapping to remove some attributes from the resulting XML file. I modified the mapping file like this :
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd"> <mapping> <description>Country List mapping</description> <class name="java.util.ArrayList" auto-complete="true"> <map-to xml="myobjects" /> </class> <class name="com.myorg.myproject.entities.MyObject" auto-complete="true"> <map-to xml="myobject" /> <field name="attr1" transient="true"/> <field name="attr3" transient="true"/> </class> </mapping>
When I try to marshal using this mapping, I get the error message : org.exolab.castor.mapping.MappingException: Could not find the class com.myorg.myproject.entities.MyObject at org.exolab.castor.mapping.loader.MappingLoader.createDescriptor(MappingL oader.java:340) ...
I'm sure of the package path. Are there restrictions on the Castor use in a J2EE environment ? Any suggestion ?
Regards
-- A. ROY
----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-user
