【发布时间】:2014-01-09 14:54:29
【问题描述】:
一直在尝试让 Acralyser 与 Cloudant 一起使用。
- 将 ACRA couchDB 实例复制到我的 cloudant 帐户中。猜猜它正在工作,因为我可以在我的 cloudant 帐户中看到我的两个数据库。
- 创建了一个 Write 用户(reporter)并为该用户生成了一个 API 密钥。
-
在应用程序端我添加了以下注释。
@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]", 模式 = ReportingInteractionMode.TOAST)
在 formUri 中,如果我使用“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)
我正在使用模拟器以及三星 S2(根)设备测试上述内容。
如果需要,很乐意提供更多信息。
【问题讨论】:
-
你能确认你 PUT 的 URL 吗?
-
我尝试使用基于浏览器的 HTTP 客户端通过相同的 URL 进行 PUT。我得到了回应。虽然响应不是 200 或 201,但我认为 URL 是正常的。
-
您能否确认设备已安装“DigiCert High Assurance EV Root CA”根证书?您应该可以通过设置/安全性在 UI 中执行此操作。