[ 
https://issues.apache.org/jira/browse/CXF-4643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13505685#comment-13505685
 ] 

Sergey Beryozkin commented on CXF-4643:
---------------------------------------

Ouch, reproduced it...Very strange, will investigate, thanks
                
> Initial non-GET request returns 404 if it has query parameters
> --------------------------------------------------------------
>
>                 Key: CXF-4643
>                 URL: https://issues.apache.org/jira/browse/CXF-4643
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.7.0
>         Environment: Jetty Maven Plugin (default version) 
>            Reporter: Jason Gustafson
>         Attachments: cxf-test.tar.gz
>
>
> Hello, I ran into a weird case where an initial HTTP non-GET request returns 
> 404 if there happens to be query parameters in it. Basically, you can take 
> the code below, start up a servlet container, and do the following curl 
> commands:
> > curl -v -X PUT http://localhost:8080/cxf-test/woot?foo=bar -d "Name"
> 404
> > curl -v http://localhost:8080/cxf-test/woot
> 200
> > curl -v -X PUT http://localhost:8080/cxf-test/woot?foo=bar -d "Name"
> 204
> I tracked the problem down to ServletController:184 (in the 2.7.0 sources). I 
> don't know why "updateDestination" is invoked only for GET, but this case 
> works fine if it is invoked regardless of the method. Is there perhaps a 
> problem in my configuration?
> RestService
> -----------
> @Service("theRestService")
> @Path("/")
> public class TheRestService {
>     
>     @PUT
>     public void putHello(@QueryParam("foo") String foo, String name) {
>         System.out.println("Hello " + name);
>     }
>     
>     @GET 
>     public String getHello() {
>         return "foo";
>     }
> }
> web.xml
> -------
> <web-app>
>       <context-param>
>               <param-name>contextConfigLocation</param-name>
>               <param-value>
>                       classpath:/META-INF/spring/spring.xml
>               </param-value>
>       </context-param>
>       <listener>
>               <listener-class>
>                       org.springframework.web.context.ContextLoaderListener
>               </listener-class>
>       </listener>
>     <servlet>
>         <servlet-name>TheServlet</servlet-name>
>         <display-name>The Servlet</display-name>
>         <servlet-class>
>             org.apache.cxf.transport.servlet.CXFServlet
>         </servlet-class>
>         <load-on-startup>1</load-on-startup>
>     </servlet>        
>     <servlet-mapping>
>         <servlet-name>TheServlet</servlet-name>
>         <url-pattern>/woot/*</url-pattern>
>     </servlet-mapping>        
> </web-app>
> spring.xml
> ----------
> <beans xmlns="http://www.springframework.org/schema/beans";
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xmlns:aop="http://www.springframework.org/schema/aop";
>       xmlns:jee="http://www.springframework.org/schema/jee"; 
> xmlns:lang="http://www.springframework.org/schema/lang";
>       xmlns:tx="http://www.springframework.org/schema/tx"; 
> xmlns:util="http://www.springframework.org/schema/util";
>       xmlns:p="http://www.springframework.org/schema/p"; 
> xmlns:jaxrs="http://cxf.apache.org/jaxrs";
>       xmlns:context="http://www.springframework.org/schema/context";
>       xmlns:cxf="http://cxf.apache.org/core";
>       xsi:schemaLocation="http://www.springframework.org/schema/beans 
> http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
>        http://www.springframework.org/schema/aop 
> http://www.springframework.org/schema/aop/spring-aop-3.0.xsd          
>        http://www.springframework.org/schema/jee 
> http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
>        http://www.springframework.org/schema/lang 
> http://www.springframework.org/schema/lang/spring-lang-3.0.xsd       
>        http://www.springframework.org/schema/tx 
> http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
>        http://www.springframework.org/schema/util 
> http://www.springframework.org/schema/util/spring-util-3.0.xsd
>        http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
>        http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd      
>            
>        http://www.springframework.org/schema/context
>        http://www.springframework.org/schema/context/spring-context-3.0.xsd";>
>     <import resource="classpath:META-INF/cxf/cxf.xml" />
>     <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 
>       <!-- Spring Bean Setup -->
>       <context:annotation-config />
>       <context:component-scan base-package="test.cxf" />
>     
>     <jaxrs:server id="theServer" address="/">
>         <jaxrs:serviceBeans>
>             <ref bean="theRestService" />              
>         </jaxrs:serviceBeans>
>     </jaxrs:server>
>               
> </beans>

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to