Hi Gabo

I am getting this error trace:

INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: .No operation matching request path /search/accountid=1+and+balance+between+1+and+2/accountid/1/10 is found,

It's correct. Given that you're running a 2.1.4-snapshot, you may want to try
@Path(value="/search/{params}", unlimited=true)

And {params} should capture everything after search

Cheers, Sergey

ContentType : application/xml; charset=ISO-8859-1, Accept : */*.
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:206) at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:66)

> Actually, looks like you're building from the source ?

ahh, no... i just downloaded the binary.

> a method parameter has not been annotated with a @PathParam("bar")

Actually, that is the case. I did not annotate anything with "bar". I'll run the changes again. but I might be able to respond monday.

Again, my thanks.

Gabo


Sergey Beryozkin wrote:
Hi Gabo


Gabo Manuel wrote:
Hi Sergey,

Any specifics on when the fix regarding regex would be uploaded to any snapshot?

This fix is definitely in the 2.1.4-snapshot source tree - but the actual downloadable jar has not been produced yet.


Also example I have the following annotations:

   @GET
   @Path("/search")
   @ProduceMime("application/xml")
   public Accounts getList

And I try to access "/search/additional/path/here", if no other operation matches the path, i.e. no method annotated with "/search/additional", shouldn't the JAX-RS engine map to the method with "/search"?

No. It would actually match @Path("/search") but the final regex group will contain /additional/path/here and according to the spec only if it's either empty or '/' then the match is accepted.


When I change the @Path to "/search{bar:.*}" or "/search/{bar:.*}", I only get the response: JAXBException occurred : Premature end of file. There is no exception or stacktrace server side or client side.

Actually, looks like you're building from the source ? Please enable a fine-level logging, a default web application exception handler should report a message. It seems though it won't report more than what you've got, it does seem like the failure occurs when a JAXB provider deserializes the request body ay am early XML parsing time. Which says that it's a GET request but a method parameter has not been annotated with a @PathParam("bar") ?

Thanks, Sergey

interceptors, both in and out, function ok and it does not go the the fault interceptor chain. What it does not do however, is go inside the method.

Again, my thanks.

Gabo



------------------------------------------------------------------------


No virus found in this incoming message.
Checked by AVG - http://www.avg.com Version: 8.0.176 / Virus Database: 270.9.17/1844 - Release Date: 12/11/2008 8:58 PM



Reply via email to