• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Problem JAXB Unmarshaller if order of XML tags differs.

 
Yogesh Gandhi
Ranch Hand
Posts: 226
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello friends,

I am a bit new to XSD and XML unmarshalling techniques. In past month I have learnt JAXB techniques of how to unmarshal an given XML into a JAVA object.

I am using Java web services developer pack for that purpose.

Can someone tell if the order of tags matter while umarshalling an XML?

I have an XML of type


I created an XSD of kind..



I generated the java files using JWSDP. and written the code for unmarshalling.

It works if child 1 comes before child2. In case child2 comes before child1, then it gives me an unmarshalling exception as follows




Does the order of tags should matter??? How can I get rid of this problem?

Does anyone has any clue?
 
Yogesh Gandhi
Ranch Hand
Posts: 226
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I got the solution to my problem :

Someone answered.

This exception has been generated because JAXB follows grammar defined in XSD. In XSD you have used <xsd:sequence> which forces elements to be in-order.

Use <xsd:all> as follows to have un-ordered child. This will solve your problem.

<xsd:all>
<xsd:element name="child1" type="xsd:string" />
<xsd:element name="child2" type="xsd:string" />
</xsd:all>
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic