The fully qualified class name "bestellung.IDOC" is needed here. Otherwise I
get a MappingException (Class not found...). Since the IDOC class extends
the SAP_IDOC class, I also tried the following:
<class name="bestellung.SAP_IDOC">
or
<class name="bestellung.IDOC" extends="bestellung.SAP_IDOC">
Both have no effect. The getter and setter methods are in the SAP_IDOC
class.
I'm using castor version 1.1.2.1.
Here is a snippet of the corresponding XML schema. Maybe this helps.
<xs:complexType name="root">
<xs:sequence>
<xs:element name="IDOC" type ="SAP_IDOC"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SAP_IDOC">
<xs:sequence>
<xs:element name="EDI_DC40" type="header" minOccurs="0"/>
<xs:element name="E1EDK01" type="K01"/>
<xs:element name="E1EDKA1" type="KA1" maxOccurs="3"/>
<xs:element name="E1EDK02" type="K02"/>
<xs:element name="E1EDK35" type="K35" minOccurs="0"/>
<xs:element name="E1EDP01" type="P01" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="BEGIN" type="xs:string" fixed="1"/>
</xs:complexType>
Best regards,
Konni
Werner Guttmann wrote:
>
> Hi,
>
> very hard to tell, as looking at this, I cannot spot the obvious error.
> What about the fulyl qualified class name of the IDOC class ? If that#s
> wrong, Castor XML will use introspection, which might be what is
> happening ?
>
> Regards
> Werner
>
> PS What Castor version are you using ?
>
> Konni wrote:
>> I'm new to castor and I wanted to use a mapping file in order to modify
>> my
>> xml-file in the marshalling process. But the mapping file has no effect.
>>
>> Here is the mapping file (Mapping.xml):
>>
>> <?xml version="1.0" encoding="iso-8859-1"?>
>> <mapping>
>> <class name="bestellung.IDOC">
>> <map-to xml="IDOC"/>
>> <field name="BEGIN" type="string">
>> <bind-xml name="BLABLABLA" node="attribute" />
>> </field>
>> </class>
>> </mapping>
>>
>> Here is the beginning of the original xml file:
>>
>> <?xml version="1.0" encoding="iso-8859-1"?>
>> <ORDERS05>
>> <IDOC BEGIN="1">
>> <EDI_DC40 SEGMENT="1">
>> ...
>>
>> Here is my Java code:
>>
>> ...
>> FileWriter writer = new FileWriter("Testbestellung_neu.xml");
>> Marshaller marshaller = new Marshaller(writer);
>> Mapping mapping = new Mapping();
>> mapping.loadMapping(new URL("file:/D:/Temp/XML/Mapping.xml"));
>> marshaller.setMapping(mapping);
>> marshaller.setEncoding("iso-8859-1");
>> marshaller.marshal(orders05);
>> writer.close();
>> ...
>>
>> I expected the IDOC segment after the marshalling process like the
>> following:
>>
>> <IDOC BLABLABLA="1">
>>
>> The mapping file is in the classpath. When I call the program, there is
>> the
>> INFO message "Loading mapping descriptors from ...". So the file will be
>> found. And there are no error messages.
>>
>> What am I doing wrong ?
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>
--
View this message in context:
http://www.nabble.com/Problem-with-mapping-file-tf4594474.html#a13117143
Sent from the Castor - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email