cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: The famous Cant find the request Observer
Date Thu, 11 Apr 2013 20:13:26 GMT

What's interesting is that it works fine for me with Tomcat when using Java6, but not with
Java7.   Not sure what that means yet.

Dan



On Apr 11, 2013, at 4:06 PM, Al Forbes <forbes.al@gmail.com> wrote:

> Hi,
> 
> I have spent 2 days on this so any ideas on how to debug this further would
> be appreciated.
> 
> I'm using JDK 1.7, Spring 3.2, and CXF 2.7.3. With Spring I'm using the
> Java config (not xml).
> 
> I keep getting the error
> WARNING: Can't find the the request for
> http://localhost:8080/rest/api/people's Observer
> 
> I think the error is related to some interaction between Tomcat and the
> CXFServlet. I had this working for a couple of weeks, so I suspect it has
> something to do with the order of the classpath and not the configuration.
> 
> I found this project which I can use to reproduce the problem. It works
> correctly with the embedded Jetty server, but NOT with Tomcat.
> 
> git clone -b tomcat-embedded https://github.com/reta/spring-one-jar.git
> mvn package
> java -jar target/spring-one-jar-0.0.1-SNAPSHOT.one-jar.jar
> 
> This fails with:
> curl http://localhost:8080/rest/api/people?page=2
> 
> But the same procedure with Jetty works.
> git clone -b jetty-embedded https://github.com/reta/spring-one-jar.git
> 
> 
> With Tomcat the application path (@ApplicationPath) is correctly printed,
> so I think it must be related to the CXFServlet and the url-pattern.
> "INFO: Setting the server's publish address to be /api"
> 
>       @Bean
>        public Server jaxRsServer() {
>                JAXRSServerFactoryBean factory =
> RuntimeDelegate.getInstance().createEndpoint( jaxRsApiApplication(),
> JAXRSServerFactoryBean.class );
>                factory.setServiceBeans( Arrays.< Object >asList(
> peopleRestService() ) );
>                factory.setAddress( "/" + factory.getAddress() );
>                factory.setProviders( Arrays.< Object >asList(
> jsonProvider() ) );
>                return factory.create();
>        }
> 
> Thanks,
> Al

-- 
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com


Mime
View raw message