Cloudant + Acralyser - ReportSenderException,SSLPeerUnverifiedException

时间:2014-01-09 14:54:29

标签: android acra cloudant

一直在尝试让Acralyser与Cloudant合作。

  1. 将ACRA couchDB实例复制到我的cloudant帐户中。猜猜它正在工作,因为我可以在我的cloudant帐户中看到我的数据库。
  2. 创建了一个Write用户(报告者)并为该用户生成了一个API密钥。
  3. 在应用程序方面,我添加了以下注释。

    @ReportsCrashes(formKey =“”,                 formUri =“http:// [my-cloudant] / [my-db] / _design / acra-storage / _update / report”,                 reportType = HttpSender.Type.JSON,                 httpMethod = HttpSender.Method.PUT,                 formUriBasicAuthLogin =“[my-reporter-user]”,                 formUriBasicAuthPassword =“[my-reporter-password]”,                 mode = ReportingInteractionMode.TOAST)

  4. 在形式中如果我使用'http'看起来像ACRA请求cloudant没有任何问题。但是,我在报告页面中没有看到任何内容。

    报告网址:https:// [my-cloudant] /acralyzer/_design/acralyzer/index.html#/dashboard/

    在formURI中如果我使用'https',我收到以下ACRA错误:

    org.acra.sender.ReportSenderException: Error while sending JSON report via Http PUT
                at org.acra.sender.HttpSender.send(HttpSender.java:228)
                at org.acra.SendWorker.sendCrashReport(SendWorker.java:179)
                at org.acra.SendWorker.checkAndSendReports(SendWorker.java:141)
                at org.acra.SendWorker.run(SendWorker.java:77)
         Caused by: javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
                at org.apache.harmony.xnet.provider.jsse.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:137)
    

    我正在使用模拟器以及Samsung S2(rooted)设备测试上述内容。

    如果需要,很高兴提供进一步的信息。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用POST代替PUT? 此外,您可能已经拥有此功能,但acra数据库之前需要使用关键字“acra” 因此,例如,如果您的数据库名称是my-database,那么这是不正确的;它需要是acra-my-database。

请查看此处的文档::

https://github.com/ACRA/acralyzer/wiki/setup

以及手动设置::

https://github.com/ACRA/acralyzer/wiki/manual-setup

由于您使用[my-db]

,无法判断您的网址中是否已包含此内容