Hi Willem, I just used the TestProcessor to see the value of the inMessage.getBody() because even if there's no processor, the parameters really gets null when routed.
I am digging the code right now at CxfRSProducer. And it seems that the problem is in the Reflection part in the method invokeProxyClient. Object response = method.invoke(target, parameters); i have logged the parameters before this part and the values were still in there. I have also tried updating how JAXRSClientFactoryBean (cfb) is used as a jaxrs client. Example: BindingFactoryManager manager = cfb.getBus().getExtension(BindingFactoryManager.class); JAXRSBindingFactory factory = new JAXRSBindingFactory(); factory.setBus(cfb.getBus()); manager.registerBindingFactory(JAXRSBindingFactory.JAXRS_BINDING_ID, factory); Object targetClass = cfb.create(sfb.getResourceClasses().get(0)); Object response = method.invoke(targetClass , parameters); Still, the parameters, gets null after this method.invoke(..) reflection. Im still digging on it and checking if i could replicate the reflection part. Can you also analyze/replicate it? Thanks. willem.jiang wrote: > > Hi, > > Can I see the code that you do in the testProcessor? > If you don't set the exchange.outMessage(), you should get the right > parameter from the inMessage body. > > Willem > > > jejmaster wrote: >> Hello, >> >> I am using the Camel 2.3-SNAPSHOT and implementing the CXFRS routing >> through >> ProxyClient. I have setup my JAXRS Service Class method to accept 2 >> parameters, a String and an Object. The service is working fine when i am >> invoking it directly but when i am using the cxfrs camel routing, these >> 2 >> parameters are having null values. Anyway here's my setup: >> >> My Service/Resource Class: >> >> @Path("/myservice") >> Class MyService{ >> >> @POST >> @Path("/myMethod") >> public ModelCollectionTO getPatients(@FormParam("loc") String >> location, >> @FormParam("") ModelTO modelTO){ >> log.debug(location); >> log.debug(modelTO); >> .... >> } >> } >> >> Router Definition: >> >> <route> >> <from uri="cxfrs:bean:serviceRouter" /> >> <process ref="testProcessor" /> >> <to uri="cxfrs:bean:serviceEndpoint?httpClientAPI=false" /> >> </route> >> >> I tried to use a test processor to capture the exchange and the >> inMessage. >> The 2 parameters are correct. with values: >> >> location: "String"; >> ModelTO: firstName="FirstName", lastName="LastName" >> >> But after it routes through the endpoint, the 2 parameters are getting >> null >> values: >> >> location: null; >> ModelTO: firstname=null, lastName=null. >> >> >> I have checked the camel-cxf code and enabled the Trace logging. I might >> need additional logs in the invokeProxyClient method of the CxfRsProducer >> to >> see where the inMessage.getBody() values gets converted or loss >> >> >> >> >> > > > -- View this message in context: http://old.nabble.com/Null-parameters-when-routing-CXFRS-endpoints-tp28186748p28187620.html Sent from the Camel - Users mailing list archive at Nabble.com.