2013-06-25 45 views
5

我試圖建立在Android上HTTPS客戶端使用的Restlet,但我得到這個錯誤:(1002) - 沒有可用的客戶端連接器支持所需的協議:「HTTPS」

Internal Connector Error (1002) - No available client connector supports the required protocol: 'HTTPS'. Please add the JAR of a matching connector to your classpath. Then, register this connector helper manually.

許多消息來源說你只需要添加SSL和依賴關係的罐子,所以我增加了以下罐:

  • org.restlet
  • org.restlet.ext.ssl
    • org.jsslutils
  • org.restlet.ext.httpclient
    • org.apache.commons.codec_1.5
    • org.apache.commons.logging_1.1
    • org.apache .httpclient_4.1
    • org.apache.httpcore_4.1
    • org.apache.httpmime_4.1
    • org.apache.james.mime4j_0.6
    • net.jcip.annotations_1.0

的Restlet的docs說,你需要添加一個外部 「連接器」 爲HTTPS。 根據它,對於HTTPS客戶端的選項有:

  1. Apache的HTTP客戶端
  2. 網(附帶了JDK)

我假設我有兩對(ORG。 apache.httpclient_4.1和JDK)。

錯誤消息提到「手動註冊連接器幫助器」,但我無法弄清楚如何去做。文檔提到連接器的參數。有些鏈接被打破,其他鏈接轉到javadocs,沒有額外的文本。 This one列出了一些參數,但所有看似可選的設置並沒有關於設置替代連接器。網絡上的一些源代碼有「System.setProperty」設置的代碼片段。我複製一些並嘗試沒有成功。

+0

你設法解決這個問題嗎? – dazito

+0

我們完全放棄了使用Restlet。據我所知,只使用Apache的httpclient。 – Vituel

+0

請參閱下面的答案。這個問題現在應該在2.2版本中完全解決 –

回答

1

此問題已在Restlet 2.2版中完全解決,其中內部HTTP/HTTPS連接器現在基於HttpURLConnection,並且不需要額外的依賴關係。這是輕而易舉的,不需要使用Apache HTTP客戶端API。這對Android版本特別有效。

相關問題