Hi all, I'm creating a RESTful web service, but I don't understand how to manage multiple parameters in the exchange message. My idea is that if multiple parameters are passed to the service, I can find some sort of hashmap, indexed by parameter name, in the body of the message created by the REST endpoint, but this doesn't happen. Reading from the source code, method org.apache.camel.component.cxf.jaxrs.DefaultCxfRsBinding.populateExchangeFromCxfRsRequest(...), I see that a "Object[] paramArray" (that has only parameters values and not names) is saved in the message body with "camelMessage.setBody(new MessageContentsList(paramArray))".
Am I missing something or multiple parameters are really passed as *positional* parameter of an Object[] array? I'm using Camel 2.7.1 with the following definition (I've pasted only the relevant portion) @Provider @Produces("application/json") public class DocumentListRest { @GET @Path("/document/{userId}/{documentId}") public Document getDocument(@PathParam("userId") long userId, @PathParam("documentId") long documentId) { return null; // Is it ok if I return null? } } my Spring configuration is: [...] <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" /> <cxf:rsServer id="rsServer" address="/" serviceClass="xxx.yyy.impl.DocumentListRest" /> <camelContext id="camel" trace="true" xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="cxfrs:bean:rsServer" /> <choice> <when> <simple>${in.header.operationName} == 'getDocument'</simple> [...] </route> </camelContext> Tracing gave me the follwing output: (route1) from(cxfrs://bean:rsServer) --> choice <<< Pattern:InOut, Headers:{CamelAcceptContentType=*/*, Content-Type=null, Accept=*/*, CamelHttpUri=/server/document/23/234, CamelHttpMethod=GET, connection=Keep-Alive, CamelCxfRsResponseClass=class xxx.yyy.bean.Document, CamelCxfRsOperationResourceInfoStack=[org.apache.cxf.jaxrs.model.MethodInvocationInfo@3b48a8e6], CamelHttpPath=document/23/234, user-agent=Wget/1.12 (linux-gnu), operationName=getDocument, CamelCxfRsResponseGenericType=class xxx.yyy.bean.Document, host=localhost:8080}, BodyType:org.apache.cxf.message.MessageContentsList, Body:23 Thanks, Marco