[
https://issues.apache.org/jira/browse/CXF-2345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hendy Irawan updated CXF-2345:
------------------------------
Description:
Test case:
RootResource.java :
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 invoking
Tried this workaround but not working: Make SubResource implement an interface
then on RootResource.getSubResource() use interface as the return type, not the
class
was:
Test case:
RootResource.java :
public class RootResource {
@Path("subresource")
public SubResource getSubResource();
}
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 invoking
Workaround: Make SubResource implement an interface then on
RootResource.getSubResource() use interface as the return type, not the class
> Returning AOP/CGLIB proxy as Subresource throws Fault "object is not an
> instance of declaring class"
> ----------------------------------------------------------------------------------------------------
>
> Key: CXF-2345
> URL: https://issues.apache.org/jira/browse/CXF-2345
> Project: CXF
> Issue Type: Bug
> Components: REST
> Affects Versions: 2.2.2
> Reporter: Hendy Irawan
>
> Test case:
> RootResource.java :
> 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 invoking
> 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.