首页 文章

JSON JAX-RS Channels :无法找到资源/HtmlDefaultRepresentation/defaultHtmlEntry.jsp

提问于
浏览
1

我有JAX-RS JSON Channels :

@Path("/data")
public class DataChannel {

@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getGridData(@HeaderParam("Range") String rangeHeader) {

问题是(通常)在第一次调用时我从Wink的HtmlProvider获得了异常,而后续调用被处理为correclty并且返回了JSON:

0000006f servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper服务SRVE0068E:应用程序[qmslmsv_ear]中servlet [de.datev.qmrzsv.rest.ApplicationConfig]的一个服务方法引发了异常 . 创建异常:[javax.ws.rs.WebApplicationException:com.ibm.ws.jsp.webcontainerext.JSPErrorReport:JSPG0036E:无法在org.apache.wink.server.internal.providers.entity中找到资源/HtmlDefaultRepresentation/defaultHtmlEntry.jsp .gtml.HtmlProvider.include(HtmlProvider.java:78)org.apache.wink.server.in.上org.apache.wink上的org.apache.wink.server.internal.providers.entity.html.HtmlSyndEntryProvider.writeTo(HtmlSyndEntryProvider.java:81)中的.providers.entity.html.HtmlProvider.writeTo(HtmlProvider.java:46) org.apache上的org.apache.wink.common.internal.providers.entity.FormatedExceptionProvider.writeTo(FormatedExceptionProvider.java:108)中的.server.internal.providers.entity.html.HtmlSyndEntryProvider.writeTo(HtmlSyndEntryProvider.java:38) org.apache.wink.server.intern上的.wink.common.internal.providers.entity.FormatedExceptionProvider.writeTo(FormatedExceptionProvider.java:48) al.handlers.FlushResultHandler.handleResponse(FlushResultHandler.java:199)org.apache.wink.server.handlers.AbstractHandler.handleResponse(AbstractHandler.java:38)org.apache.wink.server.handlers.ResponseHandlersChain.handle( ResponseHandlersChain.java:26)org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:22)org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)at org位于org.apache.wink.server.handlers的org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:26)的.apache.wink.server.handlers.AbstractHandler.handleResponse(AbstractHandler.java:39) .ResponseHandlersChain.handle(ResponseHandlersChain.java:22)atg.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)at org.apache.wink.server.handlers.AbstractHandler.handleResponse(AbstractHandler.java) :39)在org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlers) Chain.java:26)org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:22)org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)at org位于org.apache.wink.server.handlers的org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:26)的.apache.wink.server.handlers.AbstractHandler.handleResponse(AbstractHandler.java:39) .ResponseHandlersChain.handle(ResponseHandlersChain.java:22)atg.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)org.apache.wink.server.internal.log.Responses.handleResponse(回复) .java:90)org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:26)org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:22)at org . org.apache.wink.server.handlers.AbstractHandl上的apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) er.handleResponse(AbstractHandler.java:39)org.apache.wink.server.handler.ResponseHandlersChain.handle(ResponseHandlersChain.java:26)org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java: 22)在org.apache.wink的org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:60)位于org.apache.wink.server.verleRequest(RequestProcessor.java:154)org.apache.wink.server.internal.servlet.RestServlet的.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:232) .service(RestServlet.java:124)位于com的com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1225)的javax.servlet.http.HttpServlet.service(HttpServlet.java:668) . com.ibm.ws.webcontainer.servlet.ServletWrapper.ha上的ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:775) ndleRequest(ServletWrapper.java:457)位于com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)的com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1032) com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3761)位于com.ibm.ws.webcontainer的com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) .WebContainer.handleRequest(WebContainer.java:975)atcom.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)位于com.ibm.ws.http.channel的com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) . 位于com.ibm.ws.http.channel的com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)中的inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459) . 位于com.ibm.ws.tcp.channel的com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:87)中的inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312) . 位于com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)的com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)中的impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)com.ibm.io.async.ResultHand的com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) ler.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:1815) )引起:com.ibm.ws.jsp.webcontainerext.JSPErrorReport:JSPG0036E:无法在com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.findWrapper(AbstractJSPExtensionProcessor.java:447)找到资源/HtmlDefaultRepresentation/defaultHtmlEntry.jsp com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.getServletWrapper(AbstractJSPExtensionProcessor.java:338)位于com.ibm.ws.webcontainer的com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:965) . webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1384)位于org.apache.wink.server.internal.providers.entity.html的com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:548) . HtmlProvider.include(HtmlProvider.java:75)... 58更多引起:java.io.FileNotFound例外:JSPG0036E:无法找到资源/HtmlDefaultRepresentation/defaultHtmlEntry.jsp ... 64更多

运行时环境是WebSphere Server 8.5 .

看起来第一次选择了错误的提供程序时,标头明确指出JSON应该用作响应 . 从客户端发送的HTTP标头也暗示了JSON是预期的状态:

接受text / html,application / xhtml xml,application / xml; q = 0.9,/; q = 0.8 Accept-Encoding gzip,deflate Accept-Language en,de; q = 0.5 Content-Type application / json

是什么导致了这个问题以及如何避免它?

1 回答

  • 1

    检查日志以查找以前的错误 .

    在生成响应时抛出异常时,将使用备用提供程序(在这种情况下为HtmlProvider) .

    配置问题或缺少依赖性可能导致异常 .

相关问题