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.



Reply via email to