What CXF version ? This rings a bell but I'm pretty sure it has been
fixed,
Cheers, Sergey
On 27/02/13 18:49, purecharger wrote:
I have a simple JAX-RS controller exposing 2 methods, one marked @GET
and one
marked @PUT. Issuing a PUT request first to the controller after
application
startup causes a 404 response and exceptions from CXF that no method is
matched on the controller. If I issue a GET request first, then a PUT
request, both methods are found. Any ideas on what I'm doing wrong?
public class LoggerController {
@GET
@Produces("application/json")
public Map<String,Object> getLevel(@QueryParam(LOGGER) String
logger) {
...
}
@PUT
@Produces("application/json")
public Map<String,Object> setLevel(@QueryParam(LOGGER) String
logger,
@QueryParam(LEVEL) String level) {
...
}
}
org.apache.cxf.jaxrs.utils.JAXRSUtils - Trying to select a resource
operation on the resource class servlet.LoggerController
org.apache.cxf.jaxrs.utils.JAXRSUtils - No method match, method name :
getLevel, request path : /com/ws/log, method @Path : /, HTTP Method :
PUT,
method HTTP Method : GET, ContentType : */*, method @Consumes : */*,,
Accept
: */*,, method @Produces : application/json,.
org.apache.cxf.jaxrs.utils.JAXRSUtils - No method match, method name :
setLevel, request path : /com/ws/log, method @Path : /, HTTP Method :
PUT,
method HTTP Method : PUT, ContentType : */*, method @Consumes : */*,,
Accept
: */*,, method @Produces : application/json,.
org.apache.cxf.jaxrs.utils.JAXRSUtils - No operation matching request
path
"/com/ws/log" is found, Relative Path: /com/ws/log, HTTP Method: PUT,
ContentType: */*, Accept: */*,. Please enable FINE/TRACE log level for
more
details.
applicationContext.xml:
<jaxrs:server id="logger" address="/log">
<jaxrs:serviceBeans>
<bean id="loggerController"
class="servlet.LoggerController"/>
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean="jacksonJsonProvider" />
</jaxrs:providers>
</jaxrs:server>
web.xml:
<servlet>
<servlet-name>CXFServlet</servlet-name>
<display-name>CXF 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>CXFServlet</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
--
View this message in context:
http://cxf.547215.n5.nabble.com/JAX-RS-GET-request-required-before-PUT-is-recognized-tp5723847.html
Sent from the cxf-user mailing list archive at Nabble.com.
------------------------------
If you reply to this email, your message will be added to the discussion
below:
http://cxf.547215.n5.nabble.com/JAX-RS-GET-request-required-before-PUT-is-recognized-tp5723847p5723858.html
To unsubscribe from JAX-RS: GET request required before PUT is
recognized, click
here<http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5723847&code=cm5pZGVmZmVyQGdtYWlsLmNvbXw1NzIzODQ3fC0xODcxMzE4OTky>
.
NAML<http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>