[seam-issues] [JBoss JIRA] (SEAMSOCIAL-32) twitter.updateStatus() error: Unable to resolve any beans for Types: interface org.jboss.seam.social.oauth.OAuthProvider

Hendy Irawan (JIRA) jira-events at lists.jboss.org
Sat Feb 11 01:26:48 EST 2012


Hendy Irawan created SEAMSOCIAL-32:
--------------------------------------

             Summary: twitter.updateStatus() error: Unable to resolve any beans for Types: interface org.jboss.seam.social.oauth.OAuthProvider
                 Key: SEAMSOCIAL-32
                 URL: https://issues.jboss.org/browse/SEAMSOCIAL-32
             Project: Seam Social
          Issue Type: Bug
          Components: Twitter
    Affects Versions: 3.1.0.Final
            Reporter: Hendy Irawan
            Assignee: Antoine Sabot-Durand


I configured beans.xml like :

{code}
<o:TwitterServiceJackson>
	<s:modifies />
	<o:OAuthApplication apiKey="****"
		apiSecret="****" callback="http://ceefour.annafi:8080/satukancinta-web/callback.jsf" />
</o:TwitterServiceJackson>
{code}

But this code:

{code}
@Inject private TwitterService twitter;

public void publishTwitterStatus() {
	String message = getFbStatusMessage();
	log.debug("Updating Twitter status: {}", message);
	twitter.updateStatus(message);
}
{code}

causes:

{code}
Caused by: javax.faces.el.EvaluationException: org.jboss.weld.exceptions.UnsatisfiedResolutionException: WELD-001308 Unable to resolve any beans for Types: [interface org.jboss.seam.social.oauth.OAuthProvider]; Bindings: [@javax.enterprise.inject.Any(), @org.jboss.seam.social.Twitter()]
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	... 30 more
Caused by: org.jboss.weld.exceptions.UnsatisfiedResolutionException: WELD-001308 Unable to resolve any beans for Types: [interface org.jboss.seam.social.oauth.OAuthProvider]; Bindings: [@javax.enterprise.inject.Any(), @org.jboss.seam.social.Twitter()]
	at org.jboss.weld.manager.BeanManagerImpl.getBean(BeanManagerImpl.java:707) [weld-core-1.1.4.Final.jar:2011-11-22 20:01]
	at org.jboss.weld.bean.builtin.InstanceImpl.get(InstanceImpl.java:96) [weld-core-1.1.4.Final.jar:2011-11-22 20:01]
	at org.jboss.seam.social.oauth.OAuthServiceBase.getProvider(OAuthServiceBase.java:88) [seam-social-3.1.0.Final.jar:]
	at org.jboss.seam.social.oauth.OAuthServiceBase.sendSignedRequest(OAuthServiceBase.java:139) [seam-social-3.1.0.Final.jar:]
	at org.jboss.seam.social.twitter.jackson.TwitterServiceJackson.updateStatus(TwitterServiceJackson.java:97) [seam-social-twitter-3.1.0.Final.jar:]
	at org.jboss.seam.social.twitter.jackson.TwitterServiceJackson.updateStatus(TwitterServiceJackson.java:45) [seam-social-twitter-3.1.0.Final.jar:]
	at com.satukancinta.ui.admin.UserShowAdmin.publishTwitterStatus(UserShowAdmin.java:262) [classes:]
	at com.satukancinta.ui.admin.UserShowAdmin$Proxy$_$$_WeldClientProxy.publishTwitterStatus(UserShowAdmin$Proxy$_$$_WeldClientProxy.java) [classes:]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.7.0_147-icedtea]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [:1.7.0_147-icedtea]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0_147-icedtea]
	at java.lang.reflect.Method.invoke(Method.java:601) [:1.7.0_147-icedtea]
	at org.apache.el.parser.AstValue.invoke(AstValue.java:262) [jbossweb-7.0.7.Final.jar:]
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) [jbossweb-7.0.7.Final.jar:]
	at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39) [weld-core-1.1.4.Final.jar:2011-11-22 20:01]
	at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) [weld-core-1.1.4.Final.jar:2011-11-22 20:01]
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	... 31 more
{code}

I tried to provide my own OAuthSession but doesn't work: (because the access token is already stored, there's no need to re-authorize every time)

{code}
@Produces @RequestScoped @Twitter public OAuthSession getTwitterSession() {
	OAuthSessionImpl session = new OAuthSessionImpl(Twitter.class.cast(Annotation.class));
	session.setAccessToken(new OAuthToken() {
		
		@Override
		public String getToken() {
			return userView.getUser().getTwitterAccessToken();
		}
		
		@Override
		public String getSecret() {
			return userView.getUser().getTwitterAccessTokenSecret();
		}
	});
	return session;
}
{code}

I can get the Twitter instance but cannot do anything with it.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list