[Building Sakai] Profile2 help needed: Twitter integration link never displays in Profile2

Wang, Ying wang58 at iupui.edu
Thu Apr 18 12:16:30 PDT 2013


Hi all,

We just upgraded our profile2 to 1.5.0 and found  in preferences page,  the "Link Twitter account" link never displays, the little icon just keeps spinning. (We are using java 1.6, tomcat 7.0)

Here is the stack trace showed in the log:
----------------------------------------

TwitterException{statusCode=401, retryAfter=0, rateLimitStatus=null}

at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:301)

at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:68)

at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:99)

at twitter4j.http.OAuthAuthorization.getOAuthRequestToken(OAuthAuthorization.java:121)

at twitter4j.Twitter.getOAuthRequestToken(Twitter.java:1603)

at twitter4j.Twitter.getOAuthRequestToken(Twitter.java:1596)

at org.sakaiproject.profile2.tool.pages.panels.TwitterPrefsPane.setTwitterRequestToken(TwitterPrefsPane.java:226)

at org.sakaiproject.profile2.tool.pages.panels.TwitterPrefsPane.<init>(TwitterPrefsPane.java:52)

at org.sakaiproject.profile2.tool.pages.MyPreferences$7.getLazyLoadComponent(MyPreferences.java:216)

at org.apache.wicket.extensions.ajax.markup.html.AjaxLazyLoadPanel$1.respond(AjaxLazyLoadPanel.java:79)

at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)

at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:142)

at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)

at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)

at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)

at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)

at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)

at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:644)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)

at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)

at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1470)

at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:213)

at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)

at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:881)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:680)

2013-04-17 10:59:05,930 ERROR http-bio-8080-exec-6 org.apache.wicket.RequestCycle - No get method defined for class: class org.sakaiproject.profile2.model.ProfilePreferences expression: twitterAuthLink

org.apache.wicket.WicketRuntimeException: No get method defined for class: class org.sakaiproject.profile2.model.ProfilePreferences expression: twitterAuthLink

at org.apache.wicket.util.lang.PropertyResolver.getGetAndSetter(PropertyResolver.java:488)

at org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver.java:330)

at org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver.java:237)

at org.apache.wicket.util.lang.PropertyResolver.getValue(PropertyResolver.java:91)

at org.apache.wicket.model.AbstractPropertyModel.getObject(AbstractPropertyModel.java:118)

at org.apache.wicket.Component.getDefaultModelObject(Component.java:1720)

at org.apache.wicket.markup.html.link.ExternalLink.onComponentTag(ExternalLink.java:153)

at org.apache.wicket.Component.renderComponent(Component.java:2657)

at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1538)

at org.apache.wicket.Component.render(Component.java:2517)

at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1440)

at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1603)

at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1527)

at org.apache.wicket.markup.html.panel.Fragment.renderFragment(Fragment.java:284)

at org.apache.wicket.markup.html.panel.Fragment.onComponentTagBody(Fragment.java:212)

at org.apache.wicket.Component.renderComponent(Component.java:2686)

at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1538)

at org.apache.wicket.Component.render(Component.java:2517)

at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1440)

at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1603)

at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:696)

at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)

at org.apache.wicket.Component.renderComponent(Component.java:2686)

at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1538)

at org.apache.wicket.Component.render(Component.java:2517)

at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1440)

at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1603)

at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:696)

at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)

at org.apache.wicket.Component.renderComponent(Component.java:2686)

at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1538)

at org.apache.wicket.Component.render(Component.java:2517)

at org.apache.wicket.Component.renderComponent(Component.java:2627)

at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:853)

at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:682)

at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:592)

at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)

at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258)

at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)

at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)

at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)

at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)

at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:644)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)

at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)

at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1470)

at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:213)

at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)

at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:881)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:680)

----------------------------------
Any idea about what caused this?

It seems some Jiras talked about this https://jira.sakaiproject.org/browse/PRFL-603  and https://jira.sakaiproject.org/browse/PRFL-578 . But I am still not sure what happened and why it worked fine in our instance before with the same configurations. Is this issue the configuration/settings related ?

Thank you very much for your help.

Regards,
Ying Wang

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20130418/91642eb9/attachment.html 


More information about the sakai-dev mailing list