[seam-dev] Seam REST and WELD-001303 No active contexts

Jozef Hartinger jharting at redhat.com
Tue Jan 17 03:27:50 EST 2012


Just to clarify, by default there is no session propagated with a JAX-RS 
request. However, if you store a value in the session  (e.g. manipulate 
a @SessionScoped component in the JAX-RS request), the session is 
created and cookies / jsessionid param are sent along with the response.

In CDI 1.1 (Weld 2) the conversation propagation mechanism is redefined. 
As a result, every Servlet request (including JAX-RS ones) has the 
conversation scope active and may propagate it using the "cid" 
parameter. You can try this when we release Weld 2.0.0.Alpha1 later this 
week.

On 01/16/2012 09:45 PM, Jason Porter wrote:
> I'd have to go through the seam conversation code as it is not 
> documented. But I don't think the interceptor will work as in REST 
> there isn't really a session to tie the conversation to.
>
> Sent from my iPhone
>
> On Jan 16, 2012, at 13:35, Ove Ranheim <oranheim at gmail.com 
> <mailto:oranheim at gmail.com>> wrote:
>
>> I have configured 
>> <class>org.jboss.seam.faces.context.conversation.ConversationBoundaryInterceptor</class> in 
>> WEB-INF/beans.xml and seam-faces is used. In fact I use both JSF and 
>> REST.
>>
>> Anything else that needs to be wired up?
>>
>> On Jan 16, 2012, at 9:14 PM, Jason Porter wrote:
>>
>>> If you're using Seam Conversation and starting the conversation it 
>>> will work. Out of the box, conversations don't work outside JSF.
>>>
>>> Sent from my iPhone
>>>
>>> On Jan 16, 2012, at 13:04, Ove Ranheim <oranheim at gmail.com 
>>> <mailto:oranheim at gmail.com>> wrote:
>>>
>>>> Hi guys,
>>>>
>>>> I'm getting a "WELD-001303 No active contexts for scope type 
>>>> javax.enterprise.context.ConversationScoped" when making a call to 
>>>> a REST service that invokes a ConversationScoped bean.
>>>>
>>>> Did I miss a configuration setting, or isn't ConversationScoped 
>>>> supported?
>>>>
>>>> Ove
>>>>
>>>> javax.ejb.EJBTransactionRolledbackException: WELD-001303 No active 
>>>> contexts for scope type javax.enterprise.context.ConversationScoped
>>>>   org.jboss.as.ejb3.tx.CMTTxInterceptor.handleInCallerTx(CMTTxInterceptor.java:133)
>>>>   org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:196)
>>>>   org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:286)
>>>>   org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:182)
>>>>   org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
>>>>   org.jboss.as.ejb3.component.session.SessionInvocationContextInterceptor.processInvocation(SessionInvocationContextInterceptor.java:71)
>>>>   org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
>>>>   org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
>>>>   org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:146)
>>>>   org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
>>>>   org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
>>>>   org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:76)
>>>>   com.parts.apartment.management.ApartmentService$$$view2.listApartmentUnits(Unknown 
>>>> Source)
>>>>   sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>   java.lang.reflect.Method.invoke(Method.java:597)
>>>>   org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>>>>   org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>>>   org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>>>>   org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>>>>   org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:125)
>>>>   org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:62)
>>>>   org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
>>>>   com.parts.apartment.management.ApartmentService$Proxy$_$$_Weld$Proxy$.listApartmentUnits(ApartmentService$Proxy$_$$_Weld$Proxy$.java)
>>>>   com.parts.apartment.management.ApartmentService$Proxy$_$$_WeldClientProxy.listApartmentUnits(ApartmentService$Proxy$_$$_WeldClientProxy.java)
>>>>   sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>   java.lang.reflect.Method.invoke(Method.java:597)
>>>>   org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)
>>>>   org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255)
>>>>   org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220)
>>>>   org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209)
>>>>   org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519)
>>>>   org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:496)
>>>>   org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)
>>>>   org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
>>>>   org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
>>>>   org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
>>>>   javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>>   org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67)
>>>>   org.jboss.solder.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65)
>>>>   org.jboss.solder.servlet.event.ServletEventBridgeFilter.doFilter(ServletEventBridgeFilter.java:74)
>>>>   com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:126)
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> seam-dev mailing list
>>>> seam-dev at lists.jboss.org <mailto:seam-dev at lists.jboss.org>
>>>> https://lists.jboss.org/mailman/listinfo/seam-dev
>>
>
>
> _______________________________________________
> seam-dev mailing list
> seam-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/seam-dev


More information about the seam-dev mailing list