Thanks.

Werner

Pokidov Dmitriy wrote:
> Ok, I created new bug: http://jira.codehaus.org/browse/CASTOR-2414
> 
> 2008/6/11 Werner Guttmann <[EMAIL PROTECTED]>:
> 
>> Hi,
>>
>> If you think it is an issue, please create a new Jira issue at
>>
>> http://jira.codehaus.org/browse/CASTOR
>>
>> and attach all relevant files (domain classes, mapping file, XML schema,
>> test case(s)).
>>
>> Werner
>>
>>
>>
>> Pokidov Dmitriy wrote:
>>> Because early we use Apache digester for unmarshalling, but now we need
>>> marshalling and we should rewrite digester rules to castor rules, we
>> can'nt
>>> change source code.
>>> I think that this is a bug, because when I debug castor sources, I cannt
>>> understand why elements in XMLFieldDescriptor have castor's namespace?
>>>
>>> 2008/6/11 Werner Guttmann <[EMAIL PROTECTED]>:
>>>
>>>> Hi,
>>>>
>>>> Before trying to address your question(s) one by one, I have got a
>>>> question. Given you have an XML schema instance that you want to use for
>>>> validation, how come you are not generating the domain and descriptor
>>>> classes from the XML schema ? This way, you'd get validation for free.
>>>>
>>>> Regards
>>>> Werner
>>>>
>>>> Pokidov Dmitriy wrote:
>>>>> Hello, all
>>>>>
>>>>> I have simple example that illustrate problem:
>>>>>
>>>>>
>>>>>
>>>>> Mapping file:
>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>
>>>>> <!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN"
>> "
>>>>> http://castor.org/mapping.dtd";>
>>>>>
>>>>>
>>>>>
>>>>> <mapping>
>>>>>
>>>>>             <class name="test2.OrderItem">
>>>>>
>>>>>                         <map-to xml="orderitem" ns-uri="
>>>>> http://www.otr.ru/sufd/document/desc/"/>
>>>>>
>>>>>
>>>>>
>>>>>                         <field name="orderItem" type="test2.OrderItem">
>>>>>
>>>>>                                    <bind-xml name="orderitem"
>>>>> node="element"/>
>>>>>
>>>>>                         </field>
>>>>>
>>>>>
>>>>>
>>>>>                         <field name="id" type="string">
>>>>>
>>>>>                                    <bind-xml name="identity"
>>>>> node="attribute"/>
>>>>>
>>>>>                         </field>
>>>>>
>>>>>
>>>>>
>>>>>                         <field name="orderQuantity" type="integer">
>>>>>
>>>>>                                    <bind-xml name="quantity"
>>>>> node="element"/>
>>>>>
>>>>>                         </field>
>>>>>
>>>>>             </class>
>>>>>
>>>>> </mapping>
>>>>>
>>>>>
>>>>>
>>>>> Schema file:
>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>
>>>>> <xs:schema attributeFormDefault="unqualified"
>>>> elementFormDefault="qualified"
>>>>> targetNamespace="http://jopa.org"; xmlns:xs="
>>>> http://www.w3.org/2001/XMLSchema
>>>>> ">
>>>>>
>>>>>   <xs:element name="item" type="itemType"/>
>>>>>
>>>>>   <xs:complexType name="itemType">
>>>>>
>>>>>     <xs:sequence>
>>>>>
>>>>>       <xs:element type="xs:string" name="quantity"/>
>>>>>
>>>>>     </xs:sequence>
>>>>>
>>>>>     <xs:attribute type="xs:string" name="identity"/>
>>>>>
>>>>>   </xs:complexType>
>>>>>
>>>>> </xs:schema>
>>>>>
>>>>>
>>>>>
>>>>> And xml that I want to unmarshall:
>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>
>>>>> <orderitem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>>
>>>>>                         xsi:schemaLocation="
>>>>> http://www.otr.ru/sufd/document/desc/
>>>>> http://otr-sufd/xmlschema/docschema.xsd";
>>>>>
>>>>>                         xmlns="http://www.otr.ru/sufd/document/desc/";
>>>>> identity="12">
>>>>>
>>>>>                         <quantity>100</quantity>
>>>>>
>>>>>                         <orderitem
>>>>> identity="13"><quantity>100</quantity></orderitem>
>>>>>
>>>>> </orderitem>
>>>>>
>>>>>
>>>>>
>>>>> And class OrderItem:
>>>>>
>>>>> public class OrderItem {
>>>>>
>>>>>             private String id;
>>>>>
>>>>>             private Integer orderQuantity;
>>>>>
>>>>>             private OrderItem orderItem;
>>>>>
>>>>>
>>>>>
>>>>>             public OrderItem getOrderItem() {
>>>>>
>>>>>                         return orderItem;
>>>>>
>>>>>             }
>>>>>
>>>>>
>>>>>
>>>>>             public void setOrderItem(OrderItem orderItem) {
>>>>>
>>>>>                         this.orderItem = orderItem;
>>>>>
>>>>>             }
>>>>>
>>>>>
>>>>>
>>>>>             public OrderItem() {
>>>>>
>>>>>             }
>>>>>
>>>>>
>>>>>
>>>>>             public OrderItem(String id, Integer orderQuantity) {
>>>>>
>>>>>                         this.id = id;
>>>>>
>>>>>                         this.orderQuantity = orderQuantity;
>>>>>
>>>>>             }
>>>>>
>>>>>
>>>>>
>>>>>             public String getId() {
>>>>>
>>>>>                         return id;
>>>>>
>>>>>             }
>>>>>
>>>>>
>>>>>
>>>>>             public void setId(String id) {
>>>>>
>>>>>                         this.id = id;
>>>>>
>>>>>             }
>>>>>
>>>>>
>>>>>
>>>>>             public Integer getOrderQuantity() {
>>>>>
>>>>>                         return orderQuantity;
>>>>>
>>>>>             }
>>>>>
>>>>>
>>>>>
>>>>>             public void setOrderQuantity(Integer orderQuantity) {
>>>>>
>>>>>                         this.orderQuantity = orderQuantity;
>>>>>
>>>>>             }
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>> And when I unmarshall xml, I get exception:
>>>>>
>>>>> java.lang.NoClassDefFoundError: test2/Orderitem (wrong name:
>>>>> test2/OrderItem)
>>>>>
>>>>>             at java.lang.ClassLoader.defineClass1(Native Method)
>>>>>
>>>>>             at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>>>>>
>>>>>             at
>>>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>>>>>
>>>>>             at
>>>> java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
>>>>>             at
>> java.net.URLClassLoader.access$100(URLClassLoader.java:56)
>>>>>             at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
>>>>>
>>>>>             at java.security.AccessController.doPrivileged(Native
>> Method)
>>>>>             at
>> java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>>>>>             at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>>>>
>>>>>             at
>>>> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
>>>>>             at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>>>
>>>>>             at
>>>>>
>> org.exolab.castor.xml.util.resolvers.ResolveHelpers.loadClass(ResolveHelpers.java:140)
>>>>>             at
>>>>>
>> org.exolab.castor.xml.util.resolvers.ByIntrospection.internalResolve(ByIntrospection.java:87)
>>>>>             at
>>>>>
>> org.exolab.castor.xml.util.resolvers.AbstractResolverClassCommand.resolve(AbstractResolverClassCommand.java:55)
>>>>>             at
>>>>>
>> org.exolab.castor.xml.util.resolvers.CastorXMLStrategy.getDescriptor(CastorXMLStrategy.java:137)
>>>>>             at
>>>>>
>> org.exolab.castor.xml.util.resolvers.CastorXMLStrategy.resolveClass(CastorXMLStrategy.java:82)
>>>>>             at
>>>>>
>> org.exolab.castor.xml.util.XMLClassDescriptorResolverImpl.resolve(XMLClassDescriptorResolverImpl.java:241)
>>>>>             at
>>>>>
>> org.exolab.castor.xml.MarshalFramework.searchInheritance(MarshalFramework.java:502)
>>>>>             at
>>>>>
>> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1865)
>>>>>             at
>>>>>
>> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1418)
>>>>>             at
>>>>>
>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:533)
>>>>>             at
>>>>>
>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:878)
>>>>>             at
>>>>>
>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693)
>>>>>             at
>>>>>
>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
>>>>>             at
>>>>>
>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
>>>>>             at
>>>>>
>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
>>>>>             at
>>>>>
>> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
>>>>>             at
>>>>>
>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
>>>>>             at
>>>>> org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:715)
>>>>>
>>>>>             at
>>>>> org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:616)
>>>>>
>>>>>             at Test2.testUnmarshalItem(Test2.java:61)
>>>>>
>>>>>             at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>> Method)
>>>>>             at
>>>>>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>             at
>>>>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>             at
>>>>> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
>>>>>
>>>>>             at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>> Method)
>>>>>             at
>>>>>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>             at
>>>>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>             at
>>>>> com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
>>>>>
>>>>>
>>>>>
>>>>> When I set ns-prefix and write xml with prefix, all work correctly, but
>> I
>>>>> need xml without prefixes. Please help me.
>>>>>
>>>>>
>>>> ---------------------------------------------------------------------
>>>> 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