By the way, the workaround is to access all the query parameters from JAX-RS UriInfo; we'll still need to resolve this issue though

Cheers, Sergey



On 01/11/13 12:44, Sergey Beryozkin wrote:
Hi,

Can you please double check that

camelMessage.getHeader(Exchange.HTTP_QUERY, String.class)

returns the complete query string ?

I wonder if it's an issue with SimpleCxfRsBinding#bindParameters ?

Raul, can you please comment ?

Thanks, Sergey


On 01/11/13 02:53, arunodhaya80 wrote:
Hi, I am referring to the following link (specially the Simple Binding
style)
http://camel.apache.org/cxfrs.html

What I am trying to do is basic - pass three query parameters and receive
them in the REST implementation class.  For some reason, the second
and the
subsequent Query Parameters are just null.  The first one works perfectly
fine.  I am using Camel+JAX-RS (CXF). This is just a GET request. The
URL I
am using is

`http://localhost:8181/cxf/coreservices/search?q=health&start=100&size=924`


I guess this information is not useful - I am running this on top of
Karaf.

**Here is my Interface declaration**

@Path("search")
public interface SearchRestService {


     @GET
     @Produces(MediaType.APPLICATION_JSON)
     public String searchGet(@QueryParam ("q") String q,
@DefaultValue("0")
@QueryParam("start") String start, @DefaultValue("10")
@QueryParam("size")
String size );



**Implementation**


     public SearchResult<WikiSearchHit> searchGet(String q, String start,
String size){

         logger.info("Inside wiki GET method: " +q + " start:"+start + "
size:"+ size);


The `q` parameter comes in fine as `health` but the start and the size
parameters are just null. Surprisingly, the default values aren't getting
picked up too.

I am afraid I am doing something wrong in my camel routing.

**Router**

     @Override
     public void configure() throws Exception {

         from("cxfrs://bean://rsServer?bindingStyle=SimpleConsumer")
                 .multicast()
                 .parallelProcessing()
                 .aggregationStrategy(new CoreSearchResponseAggregator())
                 .beanRef("searchRestServiceImpl", "searchGet")
                  ...

The relevant blueprint declarations are :

     <cxf:bus id="coreServicesBus">
     </cxf:bus>

     <jaxrs:server address="/coreservices" id="rsServer">
         <jaxrs:serviceBeans>
             <ref component-id="searchRestServiceImpl" />
         </jaxrs:serviceBeans>
     </jaxrs:server>


I am pretty sure I am doing something really stupid.  I'll be really
grateful for any clues on what I am doing wrong.





--
View this message in context:
http://camel.465427.n5.nabble.com/JAX-RS-and-Camel-Except-1st-QueryParameter-all-others-are-null-tp5742470.html

Sent from the Camel - Users mailing list archive at Nabble.com.





--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Blog: http://sberyozkin.blogspot.com

Reply via email to