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 of:org.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.
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.
posted 7 years ago
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!!
if you think brussel sprouts are yummy, you should try any other food. And this tiny ad:
Create Edit Print & Convert PDF Using Free API with Java