2014-10-10 2 views
0

У нас есть проект, который использует spring-social-facebook, spring-social-twitter, spring-social-linkedin и spring-social-google. В настоящее время мы используем следующие версии:совместимость spring-social-linkedin с весенне-социальным 1.1

  • весна-социально-ядро: 1.0.3
  • весна-социально-facebook: 1.0.1
  • весна-социально-твиттер: 1.0.5
  • весна -социальная-Google: 1.0.0
  • весна-социально-LinkedIn: 1.0.0.RC1

Мы пытаемся обновлять Facebook и Twitter до 1.1 Там нет 1.1 библиотеки доступны для LinkedIn и Googl е + в настоящее время, поэтому результирующие версии:

  • весна-социально-ядро: 1.1.0.RELEASE
  • весна-социально-facebook: 1.1.1.RELEASE
  • весна-социально-твиттер: 1.1.0.RELEASE
  • весна-социально-Google: 1.0.0
  • весна-социально-LinkedIn: не 1.0.0.RC1

сделав это изменение, LinkedIn Войти больше не работает, бросать следующий excep :

org.springframework.http.converter.HttpMessageNotReadableException '. org.springframework.http.converter.HttpMessageNotReadableException: не удалось прочитать JSON: не найдено подходящего конструктора для типа [simple type, class org.springframework.social.linkedin.api.LinkedInProfile]: не может быть экземпляр из объекта JSON (необходимо добавить/enable type information?) at [Источник: [email protected]; строка: 2, столбец: 3]; Вложенное исключение - com.fasterxml.jackson.databind.JsonMappingException: подходящий конструктор для типа [простой тип, класс org.springframework.social.linkedin.api.LinkedInProfile]: невозможно создать экземпляр объекта JSON (необходимо добавить/включить тип информация?) at [Источник: [email protected]; строка: 2, столбец: 3] на org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readJavaType (MappingJackson2HttpMessageConverter.java:170) ~ [spring-web-3.2.0.RELEASE.jar: 3.2.0.RELEASE] at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.read (MappingJackson2HttpMessageConverter.java:162) ~ [spring-web-3.2.0.RELEASE.jar: 3.2.0.RELEASE] на org.springframework.web. client.HttpMessageConverterExtractor.extractData (HttpMessageConverterExtractor.java:94) ~ [spring-web-3.2.0.RELEASE.jar: 3.2.0.RELEASE] at org.springframework.web.client.RestTemplate.doExecute (RestTemplate.java: 492) ~ [spring-web-3.2.0.RELEASE.jar: 3.2.0.RELEASE] at org.springframework.web.client.RestTemplate.execute (RestTemplate.java:447) ~ [spring-web-3.2. 0.RELEASE.jar: 3.2.0.RELEASE] на org.spri ngframework.web.client.RestTemplate.getForObject (RestTemplate.java:215) ~ [spring-web-3.2.0.RELEASE.jar: 3.2.0.RELEASE] at org.springframework.social.linkedin.api.impl. ProfileTemplate.getUserProfile (ProfileTemplate.java:79) ~ [spring-social-linkedin-1.0.0.RC1.jar: na] at com.globaldawn.social.core.oauth.handler.LinkedInOAuthHandler.authenticate (LinkedInOAuthHandler.java: 94) ~ [social-core-4.0.4219.jar: na] at com.globaldawn.social.core.oauth.service.SocialOAuthService.authenticateWithSocialNetwork (SocialOAuthService.java:371) ~ [social-core-4.0.4219.jar: na] at com.globaldawn.social.core.oauth.service.SocialOAuthService.authenticate (SocialOAuthService.java:160) ~ [social-core-4.0.4219.jar: na] at com.globaldawn.social. web.controller.login.SocialLoginControllerUtil.login (SocialLoginControllerUtil.java:194) ~ [classes /: na] at com.globaldawn.social.web.controller.login.SocialLoginControllerUtil.successLogLogCallback (SocialLoginControllerUtil.java:117) ~ [классы /: na] at com.globaldawn.social.web.controller.login.LinkedInSocialLoginController.successfulOAuthLoginCallback (LinkedInSocialLoginController.java:126) ~ [classes /: na] at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) ~ [ na: 1.7.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) ~ [na: 1.7.0_51] at sun.reflect. DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) ~ [na: 1.7.0_51] по адресу java.lang.reflect.Method.invoke (Method.java:606) ~ [na: 1.7.0_51] at org.springframework. web.method.support.InvocableHandlerMethod.invoke (InvocableHandlerMethod.java:219) ~ [spring-web-3.2.0.RELEASE.jar: 3.2.0.RELEASE] по адресу org.springframework.web.method.support.InvocableHandlerMethod. invokeForRequest (InvocableHandlerMethod.java:132) ~ [spring-web-3.2.0.RELEASE.jar: 3.2.0.RELEASE] на org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle (ServletInvocableHandlerMethod. java: 104) ~ [spring-webmvc-3.2.0.RELEASE.jar: 3.2.0.RELEASE] по адресу org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod (RequestMappingHandlerAdapter.java:746) ~ [весенне-webmvc-3.2.0.RELEASE.j ar: 3.2.0.RELEASE] на org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal (RequestMappingHandlerAdapter.java:687) ~ [spring-webmvc-3.2.0.RELEASE.jar: 3.2. 0.RELEASE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle (AbstractHandlerMethodAdapter.java:80) ~ [spring-webmvc-3.2.0.RELEASE.jar: 3.2.0.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:925) [spring-webmvc-3.2.0.RELEASE.jar: 3.2.0.RELEASE] по адресу org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:856) [spring-webmvc-3.2.0.RELEASE.jar: 3.2.0.RELEASE] на org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:915) [spring-webmvc -3.2.0.RELEASE.jar: 3.2.0.RELEASE] на или g.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:811) [spring-webmvc-3.2.0.RELEASE.jar: 3.2.0.RELEASE] по адресу javax.servlet.http.HttpServlet.service (HttpServlet .java: 735) [social-rest-service.war: na] at org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:796) [spring-webmvc-3.2.0.RELEASE.jar: 3.2 .0.RELEASE] at javax.servlet.http.HttpServlet.service (HttpServlet.java:848) [social-rest-service.war: na] at org.eclipse.jetty.servlet.ServletHolder.handle (ServletHolder. java: 698) [social-rest-service.war: na] at org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1506) [social-rest-service.war: na] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (CharacterEncodingFilter.java:88) [spring-web-3.2.0.RELE ASE.jar: 3.2.0.RELEASE] по адресу org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) [spring-web-3.2.0.RELEASE.jar: 3.2.0.RELEASE] at org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1494) [social-rest-service.war: na] at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal (HttpPutFormContentFilter.java: 89) [spring-web-3.2.0.RELEASE.jar: 3.2.0.RELEASE] по адресу org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) [spring-web-3.2.0. RELEASE.jar: 3.2.0.RELEASE] at org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1486) [social-rest-service.war: na] at org.eclipse.jetty .servlet.ServletHandler.doHandle (ServletHandler.java:503) [социальный-отдых-сервис.war: na] at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:138) [social-rest-service.war: na] at org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:564) [social-rest-service.war: na] at org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:213) [social-rest-service.war: na ] at org.eclipse.jetty.server.handler.ContextHandler.doHandle (ContextHandler.java:1096) [social-rest-service.war: na] at org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler. java: 432) [social-rest-service.war: na] at org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:175) [social-rest-service.war: na] at org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1030) [social-re st-service.war: na] at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:136) [social-rest-service.war: na] на org.eclipse.jetty.server .handler.HandlerWrapper.handle (HandlerWrapper.java:97) [social-rest-service.war: na] at com.codahale.metrics.jetty9.InstrumentedHandler.handle (InstrumentedHandler.java:173) [социальный отдых-сервис .war: na] at org.eclipse.jetty.server.handler.HandlerWrapper.handle (HandlerWrapper.java:97) [social-rest-service.war: na] at com.globaldawn.application.monitoring.RequestMetricsHandler. handle (RequestMetricsHandler.java:98) [social-rest-service.war: na] at org.eclipse.jetty.server.handler.HandlerWrapper.handle (HandlerWrapper.java:97) [social-rest-service.war: na] at org.eclipse.jetty.server.Server.handle (Server.java:445) [ social-rest-service.war: na] at org.eclipse.jetty.server.HttpChannel.handle (HttpChannel.java:268) [social-rest-service.war: na] at org.eclipse.jetty.server .HttpConnection.onFillable (HttpConnection.java:229) [social-rest-service.war: na] at org.eclipse.jetty.io.AbstractConnection $ ReadCallback.run (AbstractConnection.java:358) [социальный отдых-сервис .war: na] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob (QueuedThreadPool.java:601) [social-rest-service.war: na] at org.eclipse.jetty.util.thread. QueuedThreadPool $ 3.run (QueuedThreadPool.java:532) [social-rest-service.war: na] at java.lang.Thread.run (Thread.java:744) [na: 1.7.0_51] Вызвано: com .fasterxml.jackson.databind.JsonMappingException: не найдено подходящего конструктора для типа [simple type, class org.springframe work.social.linkedin.api.LinkedInProfile]: невозможно создать экземпляр из объекта JSON (необходимо добавить/включить информацию о типе?) at [Источник: [email protected]; строка: 2, столбец: 3] at com.fasterxml.jackson.databind.JsonMappingException.from (JsonMappingException.java:164) ~ [jackson-databind-2.3.2.jar: 2.3.2] at com.fasterxml. jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault (BeanDeserializerBase.java:1078) ~ [jackson-databind-2.3.2.jar: 2.3.2] at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject (BeanDeserializer. java: 268) ~ [jackson-databind-2.3.2.jar: 2.3.2] at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize (BeanDeserializer.java:124) ~ [jackson-databind-2.3. 2.jar: 2.3.2] at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose (ObjectMapper.java:2993) ~ [jackson-databind-2.3.2.jar: 2.3.2] at com.fasterxml. jackson.databind.ObjectMapper.readValue (ObjectMapper.java:2158) ~ [jackson- databind-2.3.2.jar: 2.3.2] at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readJavaType (MappingJackson2HttpMessageConverter.java:167) ~ [spring-web-3.2.0.RELEASE.jar: 3.2. 0.RELEASE] ... 58 общих рамки опущены

Мы используем Gradle для нашего управления зависимостями, которая всегда занимает самый высокий номер версии, где требуются различные версии пакета, поэтому зависимость весенне-социал- linkedin on spring-social-core 1.0.3 принудительно «обновляется» до 1.1.0. Совместимо ли это?Можно ли использовать spring-social-linkedin в проекте, который использует версию 1.1 spring-social-facebook и/или spring-social-twitter?

ответ

1

Ответ заключается в том, что spring-social-core v1.1 несовместим с spring-social-linkedin v1.0 - v1.0 использует org.codehaus.jackson для сериализации JSON, тогда как v1.1 использует com .fasterxml.jackson.core.

Вы не можете обновить spring-social-facebook или spring-social-twitter до v1.1, если вам нужно использовать spring-social-linkedin в том же модуле.

Не совсем удивительно, но в результате нам, вероятно, придется отказаться от весенне-социального в целом, поскольку нам нужны новые функциональные возможности и не могут разобрать разные социальные сети.