收藏
回答

wx.onSocketOpen(CALLBACK) 安卓真机上不执行

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 wx.onSocketOpen(CALLBACK) 客户端 Android V6.6.3 1.9.91

wx.onSocketOpen(CALLBACK) 安卓真机上不执行,在开发工具上执行(iPhone6和nexus5都可以)、在ios真机上也执行,且取不取消域名和https校验都可以进onSocketOpen函数。


安卓真机上打印出来wx.connectSocket执行ok,但就是不进onSocketOpen函数, 试了2台安卓手机,都一样。怎么回事?


手机是安卓7.0,微信是6.6.3,基础库是1.9.91


最新发现:

真机上进入了wx.onSocketError函数。并且打印显示:

"java.security.cert.CertPathValidatorException: 

Trust anchor for certification path not found"


继续探索:

在 https://cloud.tencent.com/product/ssl#userDefined10 检测证书,全绿。

在 https://www.myssl.cn/tools/check-server-cert.html 检测证书,提示证书2错误: 服务器缺少中间证书。

于是在 http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1661&fromuid=2 尝试按照前辈经验拼接pfx,

但是多次且非常仔细的操作,都是无法成功(提示错误:密钥文件或证书文件格式不正确(Private key doesn't correspond to the this certificate))。


截至目前一共测试了3台安卓手机,1、小米5(安卓7.0);2、魅族MX6(安卓6.0);3、魅蓝metal(安卓5.1)。现象均是一般:手机上调试模式下提示:

"java.security.cert.CertPathValidatorException: 

Trust anchor for certification path not found"


目前除了尝试购买付费证书这一条路还没有试,我没有其它办法了。(说明:我目前的证书是阿里云上申请的赛门铁克的免费证书)。


请大家指教



最后一次编辑于  2018-02-12
回答关注问题邀请回答
收藏

7 个回答

  • ༄佳ོ࿆༊ྂ࿐
    ༄佳ོ࿆༊ྂ࿐
    03-21

    我也遇到这个问题,关闭重连后,wx.connectSocket执行ok,不执行wx.onSocketOpen回调,

    wx.onSocketMessage也不执行。请问怎么解决的


    03-21
    赞同
    回复
  • 霏微
    霏微
    2018-05-08

    +Soul又叫家嫂 

    我用的腾讯云上申请的免费证书。

    2018-05-08
    赞同
    回复
  • +Soul又叫家嫂
    +Soul又叫家嫂
    2018-05-05

    我也遇到同样问题。。证书是腾讯云域名解析那里提供的。请问楼主是用了哪里的证书申请解决了问题?

    2018-05-05
    赞同
    回复
  • 张孝银
    张孝银
    2018-03-04

    我的证书没有问题,也不行。现在真机是部分有问题,部分正常。


    2018-03-04
    赞同
    回复 1
    • 贺文轩
      贺文轩
      2018-07-16

      兄弟啊,同样的问题,你那解决了吗

      2018-07-16
      回复
  • 霏微
    霏微
    2018-03-02

    @子游 


    我的是证书问题,你可以尝试朝这个方向去找找。

    每个案例后台开发环境和开发语言可能不一致,具体问题只能自己分析。

    2018-03-02
    赞同
    回复
  • 子游
    子游
    2018-03-02

    楼主,最终是怎么解决的,升级Tomcat8私下测试是好的,但是我们公司服务器后台表示升级不了,涉及项目太多,脑袋痛

    2018-03-02
    赞同
    回复
  • 霏微
    霏微
    2018-02-22

    过完年继续研究小程序!

    2018-02-22
    赞同
    回复