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. -- With best regards, Pokidov N. Dmitriy

