2013-06-25 5 views
5

Ich versuche, einen HTTPS-Client auf Android mit Restlet einzurichten, aber ich bekomme diese Fehlermeldung:(1002) - Kein verfügbare Client-Anschluss unterstützt das erforderliche Protokoll: ‚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.

Viele Quellen Sie sagt nur müssen die Gläser für ssl und Abhängigkeiten hinzufügen, also habe ich die folgenden Gläser hinzugefügt:

  • 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 der docs sagen, dass Sie einen externen "Anschluss" für HTTPS hinzuzufügen. Nach ihr die Optionen für eine HTTPS-Client sind:

  1. Apache HTTP Client
  2. Net (die mit dem JDK kommt)

Ich nehme ich habe beide auf (org. apache.httpclient_4.1 und JDK).

Die Fehlermeldung erwähnt "den Connector-Helfer manuell registrieren", aber ich konnte nicht herausfinden, wie es geht. Die Dokumentation enthält Parameter für die Anschlüsse. Einige Links dort sind kaputt, andere gehen zu Javadocs ohne zusätzlichen Text. This one listet einige Parameter auf, aber alle scheinbar optionalen Einstellungen und nichts über das Setzen eines alternativen Konnektors. Einige Quellen im Web hatten Code-Snippets, die durch "System.setProperty" eingerichtet wurden. Ich kopierte einige und versuchte es ohne Erfolg.

+0

Haben Sie es geschafft, dieses Problem zu lösen? – dazito

+0

Wir gaben mit Restlet insgesamt auf. Benutzte nur den httpclient von Apache soweit ich mich erinnern kann. – Vituel

+0

Bitte sehen Sie meine Antwort unten. Dieses Problem sollte jetzt vollständig in Version 2.2 behoben werden –

Antwort

1

Dieses Problem wurde vollständig in Restlet Version 2.2 gelöst, wo der interne HTTP/HTTPS-Connector jetzt auf HttpURLConnection basiert, wo keine zusätzlichen Abhängigkeiten erforderlich sind. Es ist leicht und benötigt nicht die Apache HTTP Client API. Dies funktioniert besonders gut für die Android-Edition.

Verwandte Themen