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

QQ登录

只需一步,快速开始

查看: 1987|回复: 5

[结贴] bex5,mobile目录下的Main.java

[复制链接]

112

主题

304

帖子

778

积分

高级会员

Rank: 4

积分
778
QQ
发表于 2016-2-17 13:15:22 | 显示全部楼层 |阅读模式
ActionResult result = ActionEngine.invokeAction(queryMessageAction, ActionUtils.JSON_CONTENT_TYPE, bsessionID, language, null);

                JSONObject content = (JSONObject)result.getContent();

                JSONObject data = (JSONObject)content.get("data");

这块代码老是出错,

问题是 有人会出错, 有人正常。

我自己的手机  在微信里访问和使用QQ手机浏览器 就是OK的,

但是使用safiri 就不行。  

有人不管是微信里的浏览器,还是手机的safiri都报错。

后台报错信息:

2016-02-17 13:09:46 url: /UI2/system/service/common/context.j?$pURL=/x5/$v3679_no_$lzh_CN$s$dm/UI2/portal/mobile/index.w&process=%2FSA%2FOPM%2Fsystem%2FsystemProcess&activity=mainActivity&$pageType=context 没有指定bsessionid参数, 可能会出错!
2016-02-17 13:09:46 url: /UI2/system/service/common/context.j?$pURL=/x5/$v3679_no_$lzh_CN$s$dm/UI2/portal/mobile/main.w&process=/portal/process/message/messageProcess&activity=mainActivity&bsessionid=&$pageType=context 没有指定bsessionid参数, 可能会出错!
2016-02-17 13:09:46 Not registed session:26A930709EC093F1BF4FC64FB5D55AFA, jsessionid:null, action: <?xml version="1.0" encoding="UTF-8"?>
<action process="/portal/process/message/messageProcess" activity="mainActivity" name="queryMessageAction" execute-context="" content-type="application/xml"><parameters/></action>
2016-02-17 13:09:46 java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject
javax.servlet.ServletException: java.lang.ClassCastException: java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject
        at com.justep.ui.servlet.MainServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.justep.portal.filter.RedirectFilter.doFilter(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject
        at Main.execute(Main.java:39)
        at com.justep.ui.JavaServer.runJava(Unknown Source)
        at com.justep.ui.JavaServer.doJ(Unknown Source)
        at com.justep.ui.JavaServer.service(Native Method)
        ... 17 more


112

主题

304

帖子

778

积分

高级会员

Rank: 4

积分
778
QQ
 楼主| 发表于 2016-2-17 13:16:41 | 显示全部楼层
本帖最后由 left405_x5 于 2016-2-17 15:33 编辑

开始我以为是有些浏览器的cookie问题, 取不到bsessionid的原因,
但是我把safari的cookie设置成始终允许设置cookie 也不行。   
基本确定, 浏览器可以,  微信不行
从微信访问登录后, 通过justep.URL.getBSessionID() 这个方法取不到bsessionid , 普通浏览器可以取到

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36133
发表于 2016-2-17 16:20:31 | 显示全部楼层
justep.URL.getBSessionID()这个是js中的
上面发的java中,在js中获取bsessionid,然后调用java中的方法?


在微信怎么打开的页面
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

112

主题

304

帖子

778

积分

高级会员

Rank: 4

积分
778
QQ
 楼主| 发表于 2016-2-17 16:36:53 | 显示全部楼层
上面发Java是因为bsessionid是从js传过去的啊 ,   
login.w页面里 登录成功会 设置cookie justep.Util.addCookie("bsessionid", result.bsessionid, '/');
然后在main.w页面里 通过justep.URL.getBSessionID() 这种方式取不到
浏览器能取到, 微信里取不到

微信打开方式是从服务号的菜单链接过去的


回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36133
发表于 2016-2-17 17:21:46 | 显示全部楼层
justep.Util.getCookie("bsessionid")看看是否可以获取到
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

112

主题

304

帖子

778

积分

高级会员

Rank: 4

积分
778
QQ
 楼主| 发表于 2016-2-26 10:16:16 | 显示全部楼层
jishuang 发表于 2016-2-17 17:21
justep.Util.getCookie("bsessionid")看看是否可以获取到

不知是何原因,没获取到, 不过我们在传参数时加上bsessionid, 然后通过justep.URL.getBSessionID()获取到了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-19 23:35 , Processed in 0.060693 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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