Dear Castor Users,

 

I created the below-mentioned xml files. And when I run my  application I will get the following exception:

 

unable to add 'Input' to <StrategyTest> due to the following exception:

>>>--- Begin Exception ---<<<

java.lang.IllegalArgumentException: Type conversion error: could not set value of input(com.brox.rrausch.Input) with value of type com.brox.rrausch.String

 

Can you please tell me what I’m doing wrong???

 

 

 

----------------------------------------------------------------

 

My mapping file looks like:

 

 

<?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="com.brox.rrausch.StrategyTest">

                        <map-to xml="StrategyTest"/>

                        <field name="input" type="com.brox.rrausch.Input" get-method="getInput" set-method="setInput">

                                   <bind-xml name="Input" type="InformationValue" node="element"/>

                        </field>

            </class>

            <class name="com.brox.rrausch.InformationValue">

                        <map-to xml="InformationValue"/>

                        <field name="ivalueList" type="java.lang.Object" collection="arraylist" get-method="getIvalue" set-method="setIvalue">

                                   <bind-xml name="Ivalue" node="element"/>

                        </field>

            </class>

            <class name="com.brox.rrausch.Input" extends="com.brox.rrausch.InformationValue">

                        <map-to xml="Input"/>

            </class>

            <class name="com.brox.rrausch.String" extends="com.brox.rrausch.InformationValue">

                        <map-to xml="String"/>

                        <field name="svalue" type="java.lang.String" get-method="getSvalue" set-method="setSvalue">

                                   <bind-xml name="Svalue"  node="element"/>

                        </field>

            </class>

</mapping>

 

 

---------------------------------------------------------------------------------------------------------

 

 

My XSD file looks like:

 

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema>

            <xs:element name="StrategyTest">

                        <xs:annotation>

                                   <xs:documentation>Comment describing your root element</xs:documentation>

                        </xs:annotation>

                        <xs:complexType>

                                   <xs:sequence>

                                               <xs:element name="Input" type="InformationValue" minOccurs="0"/>

                                   </xs:sequence>

                        </xs:complexType>

            </xs:element>

            <xs:complexType name="InformationValue" abstract="true">

                        <xs:sequence>

                                   <xs:element name="Ivalue" maxOccurs="unbounded"/>

                        </xs:sequence>

            </xs:complexType>

            <xs:complexType name="String">

                        <xs:annotation>

                                   <xs:documentation>String Parameter</xs:documentation>

                        </xs:annotation>

                        <xs:complexContent>

                                   <xs:restriction base="InformationValue">

                                               <xs:sequence>

                                                           <xs:element name="Svalue">

                                                                       <xs:simpleType>

                                                                                  <xs:restriction base="xs:string"/>

                                                                       </xs:simpleType>

                                                           </xs:element>

                                               </xs:sequence>

                                   </xs:restriction>

                        </xs:complexContent>

            </xs:complexType>

</xs:schema>

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

My xml file to unmarshal:

 

<?xml version="1.0" encoding="UTF-8"?>

<StrategyTest>

<Input xsi:type="String">

            <Svalue>Test</Svalue>

</Input>

</StrategyTest>

 

 

           

 

 

Thanks and regards,

 

Ralf

Reply via email to