Reinhard Weiss wrote:
> 
> hi werner,
> 
> i have double checked the classpath:
> 
> 1) when running the junit testcase in eclipse relying on it's built-in 
> classpath handling.
> 2) when running the junit testcase relying on my ant build.
> 
> in both situations the generated .cdr file is on the classpath along with the 
> generated .class files.
> 
> you wrote about a .castor.xml which is definitly not generated. 
Oops, my fault, should read .castor.cdr ....
> instead there is (only) the com/xyz/model/.castor.cdr, which contains:
> 
>    com.xyz.model.B=com.xyz.model.descriptors.BDescriptor
That looks fine to me. I think I will have to re-run your problem, if
that's an option to you (and it does not take too much time). As such,
can I please ask you to create a new Jira issue and attach all relevant
files (but no more than the minimal set of files required to run the
test acse).

Werner

> 
> to control the code generator, i use the following properties:
> 
>    org.exolab.castor.builder.javaVersion=5.0
>    org.exolab.castor.builder.forceJava4Enums=false
>    org.exolab.castor.builder.equalsmethod=true
>    org.exolab.castor.builder.automaticConflictResolution=true
>    org.exolab.castor.xml.loadPackageMappings=true
> 
> 
> 
> is there probably anything i have misconfigured?
> 
> thanks,
> reinhard!
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Werner Guttmann [mailto:[EMAIL PROTECTED]
> Gesendet: Di 22.07.2008 09:06
> An: [email protected]
> Betreff: Re: [castor-user] how to use an unmarshaller instance with 
> classdescriptors?
>  
> Reinhard,
> 
> can you please make sure that the (generated) .castor.xml file is
> included with your (compiled) code as well. Are you using Ant ? Or Maven
> ? In eitehr case, you will have to find a way to put that file into your
>  classpath.
> 
> Regards
> Werner
> 
> Reinhard Weiss wrote:
>> hi,
>>
>> i have generated class files using the castor 1.2 code generator. so in my 
>> project there are the packages
>>
>>  com.xyz.model [containing the .castor.cdr] and
>>  com.xyz.model.descriptors
>>
>>  
>>  
>> i have used a custom binding to bind the actual xml document element <A> to 
>> class B.java.
>>
>>    <?xml version="1.0" encoding="UTF-8"?>
>>    <binding xmlns="http://www.castor.org/SourceGenerator/Binding"; 
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
>> xsi:schemaLocation="http://www.castor.org/SourceGenerator/Binding 
>> http://castor.org/binding.xsd"; defaultBindingType="element">
>>       <package>
>>          <name>com.xyz.model</name>
>>          <namespace>http://www.xyz.com/</namespace>
>>       </package>
>>       <elementBinding name="/A">
>>          <java-class name="B"/>
>>       </elementBinding>
>>    </binding>
>>
>>
>>   
>> the xml schema is:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
>> xmlns:ns1="http://www.xyz.com/"; targetNamespace="http://www.xyz.com/"; 
>> elementFormDefault="qualified" attributeFormDefault="unqualified">
>>      <xs:element name="A">
>>              <xs:complexType>
>>                      <xs:sequence>
>>                              <xs:element name="text" type="xs:string"/>
>>                      </xs:sequence>
>>              </xs:complexType>
>>      </xs:element>
>> </xs:schema>
>>
>>
>>
>> when i invoke the unmarshal(org.w3c.dom.Node) method on an unmarshaller 
>> instance, i keep getting the following exception...
>>
>>  org.exolab.castor.xml.MarshalException: The class for the root element 'A' 
>> could not be found.
>>      at 
>> org.exolab.castor.xml.Unmarshaller.convertSAXExceptionToMarshalException(Unmarshaller.java:761)
>>      at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:640)
>>      at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:747)
>>
>>      
>>      
>> ... although i have configured the xmlcontext like
>>
>>     XMLContext context = new XMLContext();
>>     context.addPackage("com.xyz.model");
>>     context.setProperty(XMLConfiguration.LOAD_PACKAGE_MAPPING, true);
>>     context.setProperty(XMLConfiguration.NAMESPACE_PACKAGE_MAPPINGS, 
>> "http://www.xyz.com/=com.xyz.model";);
>>
>>      
>>      
>> the testcase looks like:
>>
>>   public void testUnmarshalNode() throws Exception
>>   {
>>     XMLContext context = new XMLContext();
>>     context.addPackage("com.xyz.model");
>>     context.setProperty(XMLConfiguration.LOAD_PACKAGE_MAPPING, true);
>>     context.setProperty(XMLConfiguration.NAMESPACE_PACKAGE_MAPPINGS, 
>> "http://www.xyz.com/=com.xyz.model";);
>>     Unmarshaller unmarshaller = context.createUnmarshaller();
>>     
>>     String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><a:A 
>> xmlns:a=\"http://www.xyz.com/\";><a:text>hello world</a:text></a:A>";
>>     
>>     DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
>>     DocumentBuilder builder = factory.newDocumentBuilder();
>>     InputSource is = new InputSource( new StringReader( xml ) );
>>     Document xmlDocument = builder.parse( is );
>>
>>     B b = (B) unmarshaller.unmarshal(xmlDocument); // <- fails
>>     
>>     assertNotNull(b);
>>     assertEquals("hello world", b.getText());
>>   }
>>
>>
>>
>> for some reason castor doesn't consider the classdescriptor on unmarshalling 
>> [at least that's what seems to be the problem]. 
>> how can i properly setup my unmarshaller/xmlcontext to get things right?
>>
>> thanks,
>>
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> DI Reinhard Weiss
>>
>> ANECON Software Design und Beratung G.m.b.H.
>>
>> Web:         http://www.anecon.com
>>
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> Zusätzliche Pflichtangaben von Kapitalgesellschaften gem. § 14 UGB:
>> FN166941b | Handelsgericht Wien | Firmensitz Wien
>>
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>     http://xircles.codehaus.org/manage_email
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
> 
>     http://xircles.codehaus.org/manage_email

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to