Hi Werner, Thanks for your instant reply.
You got my problem exactly. Is there any sub way to execute this kind of stuff? Your immediate reply is really appreciated. Regards Mustafa -----Original Message----- From: Werner Guttmann [mailto:[email protected]] Sent: Tuesday, January 20, 2009 5:00 PM To: [email protected] Subject: Re: [castor-user] Having Problem with Castor Hi, the problem with your approach is as follows: within the (class) mapping for com.SYNCord.AL3.CUSTOM you are defining two collections (for com.SYNCord.AL3.Bis5 and com.SYNCord.AL3.Bpi5), which you map to the same XML artefact name (InsuranceSvcRq/Pers). And that's exactly your problem. as you are mapping two field members to one XML name only. In my view, that is not an option, and (most likely) this is what's causing problems. Regards Werner Nimakwala, Mustufa wrote: > Hi, > > > > I am using castor mapping file for binding xml with java objects. > > > > My business requirement is: > > I need to map Xml element to any field of java object. > > For that I have used location attribute in bind-xml of mapping file. > > But for the very first bind it will map element with java object and > castor will not map for second time. > > > > Problem: > > Element A1 of YY node, element b1 of AA node has to unmarshall into Bis5 > object > > And element b1 of YY node, element c1 of AA node has to unmarshall into > Bpi5 object. > > > > For example: > > > > XML file: > > <?xml version="1.0" encoding="UTF-8"?> > > <ACORD> > > <InsuranceSvcRq> > > <Pers> > > <zz> > > <YY> > > <a1>testData1</a1> > > <b1>testData2</b1> > > </YY> > > </zz> > > <AA> > > <b1>testData3</b1> > > <c1>testData4</c1> > > </AA> > > </Pers> > > </InsuranceSvcRq> > > </ACORD> > > > > Mapping file: > > <? xml version="1.0"?> > > <! DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version > 1.0//EN" "http://castor.exolab.org/mapping.dtd"> > > <mapping> > > <description>A mapping file used for unmarshalling and > marshalling</description> > > > > <class name="com.SYNCord.AL3.CUSTOM"> > > <map-to xml="ACORD" /> > > > > <field name="bis5" type="com.SYNCord.AL3.Bis5" > collection="collection"> > > <bind-xml name="Pers" location="InsuranceSvcRq" /> > > </field> > > > > <field name="bpi5" type="com.SYNCord.AL3.Bpi5" > collection="collection"> > > <bind-xml name="Pers" location="InsuranceSvcRq" /> > > </field> > > > > </class> > > > > <class name="com.SYNCord.AL3.Bis5"> > > <field name="tag1" type="java.lang.String"> > > <bind-xml name="a1" location="zz/YY"/> > > </field> > > <field name="tag2" type="java.lang.String"> > > <bind-xml name="b1" location="AA"/> > > </field> > > </class> > > > > <class name="com.SYNCord.AL3.Bpi5"> > > <field name="tag1" type="java.lang.String"> > > <bind-xml name="b1" location="zz/YY"/> > > </field> > > <field name="tag2" type="java.lang.String"> > > <bind-xml name="c1" location="AA"/> > > </field> > > </class> > > > > </mapping> > > > > Output Xml: > > <CUSTOM> > > <bis5> > > <tag2>testData3</tag2> > > <tag1>testData1</tag1> > > </bis5> > > </CUSTOM> > > > > But according to mapping file actual output file that I am expecting is > as below: > > Expected Output Xml: > > <?xml version="1.0" encoding="UTF-8"?> > > <CUSTOM> > > <bpi5> > > <tag2>testData4</tag2> > > <tag1>testData2</tag1> > > </bpi5> > > <bis5> > > <tag2>testData3</tag2> > > <tag1>testData1</tag1> > > </bis5> > > </CUSTOM> > > > > My question is what changes I have to make in my Mapping file so that I > will get <bpi5> element (marked as red in expected output Xml)? > > > > It will help a lot if any solution will be given to this problem. > > > > Regards, > > > > Mustafa Nimakwala > > Nortal - 0202 3872, Cell - 9823127867 > > > > > Confidential: This electronic message and all contents contain information from Syntel, Inc. which may be privileged, confidential or otherwise protected from disclosure. The information is intended to be for the addressee only. If you are not the addressee, any disclosure, copy, distribution or use of the contents of this message is prohibited. If you have received this electronic message in error, please notify the sender immediately and destroy the original message and all copies. > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email Confidential: This electronic message and all contents contain information from Syntel, Inc. which may be privileged, confidential or otherwise protected from disclosure. The information is intended to be for the addressee only. If you are not the addressee, any disclosure, copy, distribution or use of the contents of this message is prohibited. If you have received this electronic message in error, please notify the sender immediately and destroy the original message and all copies. Confidential: This electronic message and all contents contain information from Syntel, Inc. which may be privileged, confidential or otherwise protected from disclosure. The information is intended to be for the addressee only. If you are not the addressee, any disclosure, copy, distribution or use of the contents of this message is prohibited. If you have received this electronic message in error, please notify the sender immediately and destroy the original message and all copies. --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

