1

openid4java-0.9.6.662 をダウンロードし、それを使用してクラスを実装しました。私が実行すると:

List discoveries = manager.discover("https://www.google.com/accounts/o8/id");

私は

java.lang.NoClassDefFoundError: org/apache/http/protocol/ImmutableHttpProcessor
    at org.apache.http.impl.client.AbstractHttpClient.getProtocolProcessor(AbstractHttpClient.java:656)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:804)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)
    at org.openid4java.util.HttpCache.head(HttpCache.java:335)
    at org.openid4java.discovery.yadis.YadisResolver.retrieveXrdsLocation(YadisResolver.java:400)
    at org.openid4java.discovery.yadis.YadisResolver.discover(YadisResolver.java:248)
    at org.openid4java.discovery.yadis.YadisResolver.discover(YadisResolver.java:232)
    at org.openid4java.discovery.yadis.YadisResolver.discover(YadisResolver.java:166)
    at org.openid4java.discovery.Discovery.discover(Discovery.java:147)
    at org.openid4java.discovery.Discovery.discover(Discovery.java:129)
    at org.openid4java.consumer.ConsumerManager.discover(ConsumerManager.java:542)
    at com.sugra.openid.helper.OpenIDConsumer.authRequest(OpenIDConsumer.java:90)

面白いことに、このクラスは、同じパッケージのクラスが含まれているため、httpcore-4.0.1.jar にあるはずですが、どの jar ファイルにもありません。このクラスは httpcore-4.2.1.jar で利用できます。しかし、私はそれを試してみました

org.openid4java.discovery.yadis.YadisException: 0x704: I/O transport error: hostname in certificate didn't match: <www.google.com/173.194.35.144> != <www.google.com>

これは移植性のエラーであると報告されており、以前のバージョンを使用する必要があります

この方法を使用する正しいアプローチは何ですか?

4

1 に答える 1

1

見つけた。アプリにある別の jar (httpclient.jar) と競合がありました。アップグレードするしかなかった

于 2012-09-19T15:32:22.547 に答える