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)

有趣的是这个类在任何 jar 中都找不到,以为它应该在 httpcore-4.0.1.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 回答