起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1310|回复: 1

[结贴] 微信企业号菜单按钮设置的URL问题

[复制链接]

396

主题

2433

帖子

4863

积分

论坛元老

Rank: 8Rank: 8

积分
4863
QQ
发表于 2015-5-25 13:02:29 | 显示全部楼层 |阅读模式
本帖最后由 67886387 于 2015-5-25 13:54 编辑

微信菜单同步后,按钮设置的url跳转的参数有问题,从控制台打印结果看请求的参数:configKey=wx903f12175ea3d6894&pageURL%3DLi4vLi4vT0EvcGVyc29uYWxPZmZpY2UvcHJvY2Vzcy9zY2hlZHVsZS9tYWluQWN0aXZpdHkubS53P3Byb2Nlc3M9L09BL3BlcnNvbmFsT2ZmaWNlL3Byb2Nlc3Mvc2NoZWR1bGUvc2NoZWR1bGVQcm9jZXNzJmFjdGl2aXR5PW1haW5BY3Rpdml0eQ%3D%3D=&state=STATE&code=Ryxbs9hk4P2bGxYtvtLS8hJxH1JuwHsDDWtwlavHIeJnJXZ5tbtiCNUderSj6vLlM8JlM2jzo-7vNlErpwuJMg

在Oauth2Callback.java里面通过req.getParameter("pageURL")获取pageURL的值,一直是null,在微信平台里看菜单按钮的跳转地址pageURL后面是%253D,应该是%3D吧?
  1. 2015-05-25 12:59:16 configKey=wx903f12175ea3d6894&pageURL%3DLi4vLi4vT0EvcGVyc29uYWxPZmZpY2UvcHJvY2Vzcy9zY2hlZHVsZS9tYWluQWN0aXZpdHkubS53P3Byb2Nlc3M9L09BL3BlcnNvbmFsT2ZmaWNlL3Byb2Nlc3Mvc2NoZWR1bGUvc2NoZWR1bGVQcm9jZXNzJmFjdGl2aXR5PW1haW5BY3Rpdml0eQ%3D%3D=&state=STATE&code=3J2BM5Xt9t-eOB8T08b54JZ2Nf4li1c3GMsonje0RBMH-sauXxvXNnExIy0foWwvZhwLAoTpLms4pPvsEkg9CQ
  2. 2015-05-25 12:59:16 null
  3. javax.servlet.ServletException: java.lang.NullPointerException
  4.         at com.justep.ui.servlet.MainServlet.service(Unknown Source)
  5.         at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
  6.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  7.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  8.         at com.justep.portal.filter.RedirectFilter.doFilter(Unknown Source)
  9.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  10.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  11.         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  12.         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  13.         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  14.         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
  15.         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  16.         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
  17.         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
  18.         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
  19.         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
  20.         at java.lang.Thread.run(Thread.java:745)
  21. Caused by: java.lang.NullPointerException
  22.         at Oauth2Callback.doExec(Oauth2Callback.java:89)
  23.         at Oauth2Callback.execute(Oauth2Callback.java:27)
  24.         at com.justep.ui.JavaServer.runJava(Unknown Source)
  25.         at com.justep.ui.JavaServer.doJ(Unknown Source)
  26.         at com.justep.ui.JavaServer.service(Native Method)
  27.         ... 17 more
  28. 五月 25, 2015 12:59:16 下午 org.apache.catalina.core.StandardWrapperValve invoke
  29. 严重: Servlet.service() for servlet main-servlet threw exception
  30. java.lang.NullPointerException
  31.         at Oauth2Callback.doExec(Oauth2Callback.java:89)
  32.         at Oauth2Callback.execute(Oauth2Callback.java:27)
  33.         at com.justep.ui.JavaServer.runJava(Unknown Source)
  34.         at com.justep.ui.JavaServer.doJ(Unknown Source)
  35.         at com.justep.ui.JavaServer.service(Native Method)
  36.         at com.justep.ui.servlet.MainServlet.service(Unknown Source)
  37.         at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
  38.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  39.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  40.         at com.justep.portal.filter.RedirectFilter.doFilter(Unknown Source)
  41.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  42.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  43.         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  44.         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  45.         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  46.         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
  47.         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  48.         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
  49.         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
  50.         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
  51.         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
  52.         at java.lang.Thread.run(Thread.java:745)
复制代码




QQ67886387

396

主题

2433

帖子

4863

积分

论坛元老

Rank: 8Rank: 8

积分
4863
QQ
 楼主| 发表于 2015-5-25 14:20:14 | 显示全部楼层
问题已解决。解决方法:
修改了/UI2/SA/weixin/weixinEncoder.js文件,将:
var pageUrlEncoded = encodeURIComponent('pageURL=' + base64Url);改为了:
var pageUrlEncoded = encodeURIComponent(base64Url);
然后把'pageURL='放到了这个里面var x5Oauth2CallbackUrl = x5Oauth2CallbackUrlPrefix + 'pageURL=' + pageUrlEncoded;
QQ67886387
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-2 03:32 , Processed in 0.070064 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表