cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-4643) Initial non-GET request returns 404 if it has query parameters
Date Thu, 22 Nov 2012 16:16:58 GMT

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

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

FYI, I've created a simple test resource with the following method:
{code:java}

@PUT
    @Path("/simpleput")
    @Produces("text/plain")
    public String simplePut() {
        return "simplePut";
    }

{code}

and I've accessed from curl:

"curl -H 'Accept: text/plain' -X PUT http://localhost:8080/services/personservice/search/simpleput?x=b"

and I've got "simplePut" back.

I've done "mvn jetty:run" with the default plugin.

It appears something is interfering in you case.
Can you provide a test Maven project by any chance ? 

                
> 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
>
> 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

Mime
View raw message