Java SRVE0199E:已在$.getJSON上获取OutputStream

Java SRVE0199E:已在$.getJSON上获取OutputStream,java,jquery,json,spring,websphere,Java,Jquery,Json,Spring,Websphere,我目前正在使用Spring4.0.2和WAS7的组合 我正在尝试从SpringServlet获取一个JSON对象。这个回答非常简单,我不认为我的错误是任何语义错误的结果 请注意:这段代码在Tomcat上工作,所以我不确定为什么它不会在上。。。 这似乎只在我试图接收对象而不是原语类型时发生 为完整起见,正在执行的代码如下所示: @RequestMapping(value = "/thingy.json", method = RequestMethod.GET) public @ResponseBo

我目前正在使用Spring4.0.2和WAS7的组合

我正在尝试从SpringServlet获取一个JSON对象。这个回答非常简单,我不认为我的错误是任何语义错误的结果

请注意:这段代码在Tomcat上工作,所以我不确定为什么它不会在上。。。 这似乎只在我试图接收对象而不是原语类型时发生

为完整起见,正在执行的代码如下所示:

@RequestMapping(value = "/thingy.json", method = RequestMethod.GET)
public @ResponseBody
ArrayList<Things> getActiveTask() {
    log.debug("Sending active tasks");
    THING thing = THINGFactory.getThing();
    return thing.getThings();
}
执行此代码后,我收到以下错误:

 E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: Uncaught exception created in one of the service methods of the servlet THING in application THING_EAR. Exception created : java.lang.IllegalStateException: SRVE0199E: OutputStream already obtained
    at com.ibm.ws.webcontainer.srt.SRTServletResponse.getWriter(SRTServletResponse.java:742)
    at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:201)
    at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:189)
    at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:262)
    at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:177)
    at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:144)
    at com.ibm._jsp._general._jspService(_general.java:98)
    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181)
    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:259)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:353)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:372)
    at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:209)
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1225)
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1012)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1646)
我已经尝试过按照其他类似文章中的建议重置响应缓冲区,但这似乎无法解决问题。以下是用于重置缓冲区的代码,以供参考

response.resetBUffer();

请让我知道是否有任何其他信息可以帮助解决此问题

结果表明,Websphere似乎不想尊重我分配给Thingy对象的特定不可序列化属性的@JsonIgnore注释,因此,它执行的代码片段实际上不应该是,并且读取的属性也不应该是

response.resetBUffer();