【问题标题】:Vaadin can't parse its Security Key after upgrading to 7.5.3Vaadin 升级到 7.5.3 后无法解析其安全密钥
【发布时间】:2015-08-12 12:20:48
【问题描述】:

将我的应用程序中的 Vaadin 从 7.1.8 升级到 7.5.3 后,我遇到了一个奇怪的问题。

我的登录 servlet 无法处理任何请求,因为我认为 Vaadin 的安全密钥无效。

Vaadin 现在使用 elemental.json,当我第一次与应用程序交互时出现错误。

我浏览过 SO 和 Vaadin 论坛,我似乎是唯一有问题的人 :(

任何帮助将不胜感激。谢谢!

这是堆栈

14:09:31,232 严重 [UidlRequestHandler:103] [] 将 JSON 写入响应时出错 elemental.json.JsonException:无效的数字文字:8575f881-3226-47e0-b675-3c4a309f9373 在 elemental.json.impl.JsonTokenizer.getNumberForLiteral(JsonTokenizer.java:284) 在 elemental.json.impl.JsonTokenizer.getValueForLiteral(JsonTokenizer.java:307) 在 elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:175) 在 elemental.json.impl.JreJsonFactory.parse(JreJsonFactory.java:64) 在 elemental.json.impl.JsonUtil.parse(JsonUtil.java:200) 在 com.vaadin.server.communication.ServerRpcHandler$RpcRequest.(ServerRpcHandler.java:82) 在 com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:194) 在 com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:95) 在 com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41) 在 com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1408) 在 com.vaadin.server.VaadinServlet.service(VaadinServlet.java:350) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:848) 在 org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669) 在 org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:457) 在 org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) 在 org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) 在 org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) 在 org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) 在 org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240) 在 org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) 在 org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) 在 org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 在 org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:77) 在 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 在 org.eclipse.jetty.server.Server.handle(Server.java:368) 在 org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) 在 org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:953) 在 org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1014) 在 org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:861) 在 org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) 在 org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) 在 org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) 在 org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) 在 org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 在 org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)

【问题讨论】:

  • 你能添加一些与此相关的代码吗? servlet 中的登录过程在这里应该很有用

标签: json vaadin vaadin7 uidl


【解决方案1】:

从 Vaadin 7.1.11 升级到 7.5.3 时,我遇到了完全相同的问题。

您是否使用 vaadin-client-7.5.3 / 附加组件并编译您自己的小部件集(而不仅仅是使用 vaadin-client-compiled-7.5.3)?

我可以通过使用 Vaadin 客户端编译器版本 7.5.3 重新编译我的客户端模块(Vaadin 客户端小部件集和 Vaadin 插件小部件集)来解决此问题。

希望这会有所帮助...

【讨论】:

  • 就是这样!我最初执行了客户端的重新编译,但由于我的应用程序 (OSGi) 的复杂结构,我当时并没有使用新的 Vaadin 版本。
猜你喜欢
  • 2021-03-11
  • 2022-07-23
  • 2017-09-26
  • 2022-12-21
  • 1970-01-01
  • 2018-11-20
  • 1970-01-01
  • 2021-03-11
  • 1970-01-01
相关资源
最近更新 更多