我正在实现GWT Widget(使用Vaadin 6),以使用wallet Javascript Library在我的web应用程序中实现谷歌钱包。实际上,我有一个关于ApplicationConnection.updateVariable()
方法的问题,每当我从Javascript获得结果时(每当google的支付API在我的脚本中调用确认方法时),我都想在服务器端更新我的变量。当我收到谷歌的确认时,我打电话给我的小工具的
client.updateVariable(paintableId, "paymentStatus", paymentStatus, true);
(paymentStatus为字符串)
立即参数true。
我面临的问题是,在完成一个购买周期并调用上述方法后,我的服务器端方法changeVariables()
没有被触发,除非我单击任何其他组件或做一些事情来调用服务器或再次点击钱包按钮。
我原以为在调用上述方法后,我进入了服务器端组件,在CommunicationManager.handleUidlRequest()
处设置了一个断点,该断点在updateVariable()
调用后不会触发。
可能我没有理解updateVariable()
方法的工作方式。欢迎对该方法的任何解释或对该问题的任何解决方案。干杯
感谢Henri
线程
使用DevMode,我发现我发送的变量(即paymentStatus)为null,因此被抛出到NullPointerException中,而不是进入服务器端代码