Infinite recursion (StackOverflowError)
Hi there,
I am still a newby with spring restful webservice...
I wanna use spring restful service to invoke some of the methods I defined which is supposed to initialise birt enigine instance.
>> Here is my method
Code:
@RequestMapping(value="/getBirtEngine" ,method={RequestMethod.GET})
public @ResponseBody IReportEngine getBirtEngine(){
IReportEngine iReportEngine = null;
try {
iReportEngine = ReportEngineUtil.getBirtEngine();
} catch (Exception e) {
e.printStackTrace();
}
return iReportEngine;
}
and
Code:
@RequestMapping(value="/openReportDesign/{reportName}" ,method={RequestMethod.GET})
public @ResponseBody IReportRunnable openReportDesign(@PathVariable String reportName){
IReportRunnable runnable = null;
try {
runnable = ReportEngineUtil.openReportDesign(reportName);
} catch (EngineException e) {
e.printStackTrace();
}
return runnable;
}
and this is how I am invoking the methods :
Code:
IReportEngine engineReportEngine = restTemplate.getForObject(getUri("/getBirtEngine", null),IReportEngine.class);
and
Code:
IReportRunnable runnable = restTemplate.getForObject(getUri("/openReportDesign/", reportName), IReportRunnable.class);
and this is am error I am getting
[12/09/27 10:27:34:756 GMT+02:00] 0000003f ServletWrappe E SRVE0068E: Uncaught exception thrown in one of the service methods of the servlet: springds. Exception thrown : org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["prototype"]->org.mozilla.javascript.NativeObject["parentScope"]->org.mozilla.javascript.NativeObject["className"])
at org.codehaus.jackson.map.ser.BeanSerializer.serial izeFields(BeanSerializer.java:189)
at org.codehaus.jackson.map.ser.BeanSerializer.serial ize(BeanSerializer.java:142)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.se rializeAsField(BeanPropertyWriter.java:430)
at org.codehaus.jackson.map.ser.BeanSerializer.serial izeFields(BeanSerializer.java:175)
at org.codehaus.jackson.map.ser.BeanSerializer.serial ize(BeanSerializer.java:142)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.se rializeAsField(BeanPropertyWriter.java:430)
at org.codehaus.jackson.map.ser.BeanSerializer.serial izeFields(BeanSerializer.java:175)
at org.codehaus.jackson.map.ser.BeanSerializer.serial ize(BeanSerializer.java:142)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.se rializeAsField(BeanPropertyWriter.java:430)
at org.codehaus.jackson.map.ser.BeanSerializer.serial izeFields(BeanSerializer.java:175)
at org.codehaus.jackson.map.ser.BeanSerializer.serial ize(BeanSerializer.java:142)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.se rializeAsField(BeanPropertyWriter.java:430)
at org.codehaus.jackson.map.ser.BeanSerializer.serial izeFields(BeanSerializer.java:175)
at org.codehaus.jackson.map.ser.BeanSerializer.serial ize(BeanSerializer.java:142)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.se rializeAsField(BeanPropertyWriter.java:430)
at org.codehaus.jackson.map.ser.BeanSerializer.serial izeFields(BeanSerializer.java:175)
at org.codehaus.jackson.map.ser.BeanSerializer.serial ize(BeanSerializer.java:142)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.se rializeAsField(BeanPropertyWriter.java:430)
at org.codehaus.jackson.map.ser.BeanSerializer.serial izeFields(BeanSerializer.java:175)
at org.codehaus.jackson.map.ser.BeanSerializer.serial ize(BeanSerializer.java:142)
Any help will greatly appreciated Thanks