2012-03-08 4 views
0

Я пытаюсь интегрировать SpringSocial с webapp, который я создаю, и выполнял инструкции here.Ошибка интеграции SpringSocial LinkedIn

Я создал свой класс @Configuration (включая ID/ключ, предоставленный LinkedIn) и установил конфигурацию для регистрации компонента ConnectController, после чего я добавил кнопку на моей веб-странице для подключения к linkedIn с использованием следующего кода:

<form action="<c:url value="/connect/linkedin" />" method="POST"> 
    <button type="submit">Connect to LinkedIn</button> 
</form> 

при нажатии на кнопку она успешно принимает меня на страницу авторизации LinkedIn и определяет мое приложение как запрос авторизации, проблема в том, когда я нажимаю одобрять я получаю вернулся к моему заявлению, но получаю следующее сообщение об ошибке:

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.springframework.web.client.RestTemplate.setInterceptors([Lorg/springframework/http/client/ClientHttpRequestInterceptor;)V 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:949) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:874) 
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:779) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:427) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    ... 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.NoSuchMethodError: org.springframework.web.client.RestTemplate.setInterceptors([Lorg/springframework/http/client/ClientHttpRequestInterceptor;)V 
    at org.springframework.social.oauth1.ProtectedResourceClientFactory.create(ProtectedResourceClientFactory.java:51) 
    at org.springframework.social.oauth1.AbstractOAuth1ApiBinding.<init>(AbstractOAuth1ApiBinding.java:59) 
    at org.springframework.social.linkedin.api.impl.LinkedInTemplate.<init>(LinkedInTemplate.java:65) 
    at org.springframework.social.linkedin.connect.LinkedInServiceProvider.getApi(LinkedInServiceProvider.java:38) 
    at org.springframework.social.linkedin.connect.LinkedInServiceProvider.getApi(LinkedInServiceProvider.java:27) 
    at org.springframework.social.connect.support.OAuth1Connection.initApi(OAuth1Connection.java:94) 
    at org.springframework.social.connect.support.OAuth1Connection.<init>(OAuth1Connection.java:56) 
    at org.springframework.social.connect.support.OAuth1ConnectionFactory.createConnection(OAuth1ConnectionFactory.java:59) 
    at org.springframework.social.connect.web.ConnectSupport.completeConnection(ConnectSupport.java:115) 
    at org.springframework.social.connect.web.ConnectController.oauth1Callback(ConnectController.java:169) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:212) 
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) 
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:631) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:592) 
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900) 
    ... 67 more 

Может ли кто-нибудь сообщить, что я могу делать неправильно?

Спасибо.

ответ

1

Это похоже на несовместимость версии jar. Попробуйте использовать последнюю весну (3.1) и последние весенне-социальные версии.

+0

Я действительно думал, что это возможно, и уже прошел через мои исключения maven, чтобы убедиться, что ни одна из других весенних зависимостей не сбрасывала разные версии, но все это похоже на 3.1.0.RC2 .. позвольте мне пройти их снова. – rhinds

+0

use 3.1.release – Bozho

+0

Теперь я использую версию 3.1.1.RELEASE для библиотек Spring, в частности, Spring Web-библиотеку, содержащую классы RestTemplate и InterceptingHttpAccessor. У меня есть checkd в eclipse, и единственная версия этих классов - это версии 3.1.1, которые включают метод setInterceptor, но он все еще жалуется, кажется, что Eclipse делает что-то странное - любые другие идеи? – rhinds

Смежные вопросы