Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

JBoss-RESTEasy-Jackson problem

 
J.D. Thompson
Greenhorn
Posts: 28
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am creating a web service using resteasy and running in JBoss 6.1. I am attempting to use the JAXB Provider Jettison for the following class:



I am using the @XmlRootElement, @XmlAttribute, @XmlElement annotations.

In my POM file(using Maven to build), I list the dependency for for using resteasy-jaxrs, resteasy-jaxb-provider, and resteasy-jettison-provider.

The xml production works without a problem. However, when the return content type is specifed to be JSON, i get the following exception thrown:

Unexpected error during load ofrg.codehaus.jackson.map.JsonMappingException$Reference: java.lang.StackOverflowError
with alot of addtional "at" statements in the print trace stack.

The annotated POJO class has a zero argument constructor and get/set for each element/attribute annotated.

Has anyone else run into this or can offer a suggestion?

Thank you very much.


JD

PS - I have to type everything as the actual development is on another computer behind and I cannot copy/move the code to this unsecure machine.
 
J.D. Thompson
Greenhorn
Posts: 28
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Okay, issue resolved. Problem was in the class annotated with @XmlRootElement, @XmlElement, etc. all of the getter and setters were correct for the member variables, however I had named one method "getCopy" to create a deep copy of the POJO. Jackson, upon converting to JSON, evidently was trying to match this to a member variable "copy", couldn't find it and threw an exception.

So, for any helper methods in your RESTEasy POJO's, DO NOT begin with get or set unless they correspond to a member variable.

Hope this posting helps someone else!!!

Happy New Year!!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic