cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hendy Irawan (JIRA)" <>
Subject [jira] Commented: (CXF-2345) Returning AOP/CGLIB proxy as Subresource throws Fault "object is not an instance of declaring class"
Date Fri, 17 Jul 2009 16:04:14 GMT


Hendy Irawan commented on CXF-2345:

Thank you so much Sergey for the confirmed fix.

I'll try if the following workaround will work for now:

public SubResource getSub() {
  return (SubResource)appCtx.getBean("subResource");

Since it's on topic, I'd like to ask:
1. what's the CXF recommended best practice of subresource with Spring+CXF? Java new with
manual setters; Spring AOP lookup-method, Spring appCtx.getBean(), or Spring AOP with @Configurable
? or another technique?
2. what's really the difference between  @RolesAllowed in JAX-RS class and in JAX-RS method?
Isn't annotating the class means the whole resource is "secured"? (i.e. I don't see a point
in annotating all methods of a class with the same annotation)

> Returning AOP/CGLIB proxy as Subresource throws Fault "object is not an instance of declaring
> ----------------------------------------------------------------------------------------------------
>                 Key: CXF-2345
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: REST
>    Affects Versions: 2.2.2
>            Reporter: Hendy Irawan
>            Assignee: Sergey Beryozkin
>             Fix For: 2.2.3, 2.3
> Test case:
> :
> public class RootResource {
>   @Path("subresource")
>   public abstract SubResource getSubResource();
> }
> In spring-beans.xml:
> <bean class="RootResource">
>   <lookup-method name="getSubResource" bean="subResource" />
> </bean>
> <bean id="subResource" class="SubResource" />
> Then the AOP proxied SubResource:
> @RolesAllowed({"ROLE_USER"}) // activate Spring Security global method annotations
> public class SubResource {
> }
> Getting the /subresource will throw exception:
> org.apache.cxf.interceptor.Fault: object is not an instance of declaring class while
> Tried this workaround but not working: Make SubResource implement an interface then on
RootResource.getSubResource() use interface as the return type, not the class

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message