1

我有 JAX-RS JSON 通道:

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

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

问题是(通常)在第一次调用时我从 Wink 的 HtmlProvider 中得到了异常,而随后的调用被正确处理并返回 JSON:

0000006f servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service 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 .html.HtmlProvider.include(HtmlProvider.java:78) 在 org.apache.wink.server.internal.providers.entity.html.HtmlProvider.writeTo(HtmlProvider.java:112) 在 org.apache.wink.server.internal .providers.entity.html.HtmlProvider.writeTo(HtmlProvider.java:46) 在 org.apache.wink.server.internal.providers.entity.html.HtmlSyndEntryProvider。

运行时环境是 WebSphere 服务器 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

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

4

1 回答 1

1

检查日志以了解以前的错误。

当生成响应时抛出异常时,将使用替代提供程序(在这种情况下 - HtmlProvider)。

异常可能是由配置问题或缺少依赖关系引起的。

于 2013-08-12T12:16:24.633 回答