I tried CXF 2.2.12 and 2.3.3 Still pretty much get the same error:
java.lang.RuntimeException: org.apache.cxf.interceptor.Fault: object is not an instance of declaring class while invoking public javax.xml.bind.JAXBElement ourPackage.OurClass.query(java.lang.String,java.lang.String) throws OurException with params [navigation, /]. org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(Ab stractFaultChainInitiatorObserver.java:102) org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai n.java:315) org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationO bserver.java:113) org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestinati on.java:97) org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servle tController.java:461) org.apache.cxf.transport.servlet.ServletController.invoke(ServletController .java:149) org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServl et.java:148) org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abstract HTTPServlet.java:179) org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServ let.java:108) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPSe rvlet.java:159) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:344) org.springframework.security.web.access.intercept.FilterSecurityInterceptor .invoke(FilterSecurityInterceptor.java:110) org.springframework.security.web.access.intercept.FilterSecurityInterceptor .doFilter(FilterSecurityInterceptor.java:84) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.access.ExceptionTranslationFilter.doFilter (ExceptionTranslationFilter.java:98) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.session.SessionManagementFilter.doFilter(S essionManagementFilter.java:95) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.authentication.AnonymousAuthenticationFilt er.doFilter(AnonymousAuthenticationFilter.java:79) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.authentication.rememberme.RememberMeAuthen ticationFilter.doFilter(RememberMeAuthenticationFilter.java:120) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.servletapi.SecurityContextHolderAwareReque stFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:55) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFil ter(RequestCacheAwareFilter.java:36) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.authentication.AbstractAuthenticationProce ssingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.authentication.logout.LogoutFilter.doFilte r(LogoutFilter.java:106) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.context.SecurityContextPersistenceFilter.d oFilter(SecurityContextPersistenceFilter.java:80) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(C oncurrentSessionFilter.java:108) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy .java:150) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Delegat ingFilterProxy.java:237) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFil terProxy.java:167) ... java.lang.IllegalArgumentException: object is not an instance of declaring class sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractIn voker.java:173) org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java: 89) org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:153) org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:87) org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerIn terceptor.java:58) java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) java.util.concurrent.FutureTask.run(Unknown Source) org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.ja va:37) org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceI nvokerInterceptor.java:106) org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai n.java:255) org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationO bserver.java:113) org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestinati on.java:97) org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servle tController.java:461) org.apache.cxf.transport.servlet.ServletController.invoke(ServletController .java:149) org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServl et.java:148) org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abstract HTTPServlet.java:179) org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServ let.java:108) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPSe rvlet.java:159) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:344) org.springframework.security.web.access.intercept.FilterSecurityInterceptor .invoke(FilterSecurityInterceptor.java:110) org.springframework.security.web.access.intercept.FilterSecurityInterceptor .doFilter(FilterSecurityInterceptor.java:84) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.access.ExceptionTranslationFilter.doFilter (ExceptionTranslationFilter.java:98) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.session.SessionManagementFilter.doFilter(S essionManagementFilter.java:95) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.authentication.AnonymousAuthenticationFilt er.doFilter(AnonymousAuthenticationFilter.java:79) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.authentication.rememberme.RememberMeAuthen ticationFilter.doFilter(RememberMeAuthenticationFilter.java:120) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.servletapi.SecurityContextHolderAwareReque stFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:55) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFil ter(RequestCacheAwareFilter.java:36) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.authentication.AbstractAuthenticationProce ssingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.authentication.logout.LogoutFilter.doFilte r(LogoutFilter.java:106) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.context.SecurityContextPersistenceFilter.d oFilter(SecurityContextPersistenceFilter.java:80) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(C oncurrentSessionFilter.java:108) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilt er(FilterChainProxy.java:356) org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy .java:150) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Delegat ingFilterProxy.java:237) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFil terProxy.java:167) On 4/4/11 1:25 PM, "Sergey Beryozkin" <[email protected]> wrote: > Hi > > A lot of improvements have been done since 2.2.6 in the way Spring AOP proxies > can be dealt with, this error was reported awhile back and it was due to > JAXRSInvoker trying to invoke on the proxy as opposed to the wrapped service > object. > > One thing you might want to try is to enforce a CGLIB proxification in the > importing context, see an example in the end of this section: > http://cxf.apache.org/docs/jax-rs.html#JAX-RS-JAXRSandSpringAOP > > Another option is to experiment with registering a custom invoker, see > http://cxf.apache.org/docs/jax-rs-filters.html#JAX-RSFilters-Custominvokers > > What you can try to do in this custom invoker is to replace the proxy > resourceObject being passed to it in the invoke() with the real object, using > org.apache.cxf.common.util.ClassHelper.getRealObject(object), or may be just > copying the relevant code from JAXRSInvoker in say CXF 2.2.11 tag > > Try moving the CXF version a bit till it starts working... > > Sure, no problems re providing the vague info :-). That said, you may just > want to try to emulate it all, just have a single basic root resource (a > single method only) and have some basic app contexts imported too, anything > that can help to reproduce it, I think it should work on the trunk, but I'd > like to try to reproduce the issue. > > Cheers, Sergey > > On Mon, Apr 4, 2011 at 5:56 PM, jjurkiew <[email protected]> wrote: >> The CXF version is 2.2.6 if I can believe the jar names bundled in our >> application stack. >> >> Sincerely, >> -- Jared >> >> >> On 4/4/11 12:54 PM, "jjurkiew" <[email protected] >> <http://[email protected]> > wrote: >> >>> Unfortunately I can¹t since it is an internal application. I have to be >>> vague about it. It¹s definitely a Spring setup. All I did was follow the >>> other team¹s suggestion of importing their bean config via: >>> >>> <import resource="classpath:META-INF/ourFramework/our_core.xml" /> >>> <import resource="classpath:META-INF/spring/framework.xml" /> >>> >>> With that imported, our CXF services fail. Without it, ours work. >>> >>> Can you give me pointers of where to dig or what to look for in files (such >>> as those noted above) that might be the cause? I know it¹s not very >>> helpful to you to be vague, but I have to be careful with IP. >>> >>> Sincerely, >>> -- Jared >>> >>> >>> On 4/4/11 12:43 PM, "Sergey Beryozkin" <[email protected] >>> <http://[email protected]> > wrote: >>> >>>> Hi, >>>> >>>> That is a Spring proxy issue, a complete error message explains it. >>>> How do you import ? Is it an application context which is being imported, >>>> or packages (via Import-Package) ? >>>> What CXF version do you use ? Can you prepare a simple test or bundle for >>>> me to try it locally ? >>>> >>>> Cheers, Sergey >>>> >>>> >>>> On Mon, Apr 4, 2011 at 5:30 PM, jjurkiew <[email protected] >>>> <http://[email protected]> > wrote: >>>>> The function it fails on with the rest of the stack is: >>>>> >>>>> org.apache.cxf.interceptor.Fault: object is not an instance of declaring >>>>> class while invoking public javax.xml.bind.JAXBElement <Our Package>.<Our >>>>> Class>.que >>>>> ry(java.lang.String,java.lang.String) >>>>> at >>>>> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker >>>>> .java:159) >>>>>>> at >>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.ja >>>>>>> va:133) >>>>>>> at >>>>>>> org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:130) >>>>>>> at >>>>>>> org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:82) >>>>> at >>>>> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerI >>>>> nterceptor.java:58) >>>>> >>>>> And I checked the function def denoted in the class: >>>>> @Path("/registry") >>>>> public class OurClass implements OurInterface { >>>>> >>>>> @GET >>>>> @Produces({JSON_CONTENT_TYPE, XML_CONTENT_TYPE}) >>>>> public JAXBElement query( >>>>> @QueryParam("id") @DefaultValue("") String id, >>>>> @QueryParam("xpath") @DefaultValue("/") String xpath) >>>>> >>>>> So it does have a get with the denoted return type. This only throws >>>>> when I import a set of CXF classes from another team. If it¹s just our >>>>> code in the app, works fine. As soon as I import their code, blows up. >>>>> >>>>> I¹m trying to get trace turned on now to see if I can figure out what is >>>>> going on. >>>>> >>>>> Sincerely, >>>>> -- Jared >>>>> >>>>> >>>>> >>>>> On 4/4/11 12:07 PM, "Sergey Beryozkin" <[email protected] >>>>> <http://[email protected]> <http://[email protected]> > wrote: >>>>> >>>>>> Hi >>>>>> >>>>>> What most likely happens is that you have a JAX-RS resource method with a >>>>>> single @Path annotation (but no @GET/@POST) which returns JAXBElement - >>>>>> if it is the case then JAXBElement will be assumed to be a JAX-RS >>>>>> subresource. >>>>>> >>>>>> Can you double check it please ? If you can't find the cause then please >>>>>> post a sample resource & configuration which I can try to reproduce a >>>>>> problem >>>>>> >>>>>> Fine/trace-level logging will tell you all about the resolution process >>>>>> as well, >>>>>> >>>>>> Cheers, Sergey >>>>>> >>>>>> On Mon, Apr 4, 2011 at 4:37 PM, Jared_J <[email protected] >>>>>> <http://[email protected]> <http://[email protected]> > wrote: >>>>>>> In an application I'm working on, I import two sets of CXF-based classes >>>>>>> to >>>>>>> implement some basic rest services. I find that when both are >>>>>>> imported, I >>>>>>> get this error when I try to access one of the services: >>>>>>> >>>>>>> CXF object is not an instance of declaring class while invoking public >>>>>>> javax.xml.bind.JAXBElement >>>>>>> >>>>>>> But it tells me little else, such as what the classname actually was >>>>>>> that it >>>>>>> got. Is there any simple way to track down the source of this error? >>>>>>> Is >>>>>>> there tracing that can be turned on in CXF? Any advice would be vastly >>>>>>> appreciated. >>>>>>> >>>>>>> Sincerely, >>>>>>> -- Jared >>>>>>> >>>>>>> -- >>>>>>> View this message in context: >>>>>>> http://cxf.547215.n5.nabble.com/Trying-to-track-down-cause-of-a-vague-CX >>>>>>> F-error-tp4282081p4282081.html >>>>>>> Sent from the cxf-user mailing list archive at Nabble.com. >>>>>> >>>>>> >>>> >>>> > >
