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