Thanks for the reply, but allowNullBody is not under user control as it is set in AggregationStrategyBeanInfo(99) when calling: Expression newBody = ExpressionBuilder.mandatoryBodyExpression(newType); because mandatoryBodyExpression() just calls mandatoryBodyExpression(type, false) where the second param is nullBodyAllowed. I don't see any attribute to control AggregationStrategyBeanInfo.createMethodInfo()'s behavior at that point, so either default should not ask for mandatory body, or it should be configurable somehow.
On Fri, May 23, 2014 at 12:39 PM, Claus Ibsen <[email protected]> wrote: > You need to turn on allowNullBody or something like that > > > On Fri, May 23, 2014 at 11:33 AM, Radu Badita <[email protected]> wrote: >> Hi all, >> I'm fairly new Camel user, but I'm pretty sure this is an issue: >> I'm using a POJO Aggregator to aggregate the response from an Enrich >> EAI. The strategy method has two parameters, one for the 'oldExchange' >> message body and the other for the 'newExchange' message body; in my >> case a Map and an Object respectively. >> The problem is that when the response is null, before my aggregation >> strategy method is invoked, message body has to be obtained from the >> 'newExchange' which is not null, but the in-message body is. The >> object is extracted with "mandatoryBodyExpression" which throws >> exception: >> "InvalidPayloadException: No body available of type: java.lang.Object >> on: Message: [Body is null]." >> Is there a reason to require mandatory body in response? In this case >> I guess null responses cannot be handled, so probably it shouldn't. >> Regards, >> Radu B > > > > -- > Claus Ibsen > ----------------- > Red Hat, Inc. > Email: [email protected] > Twitter: davsclaus > Blog: http://davsclaus.com > Author of Camel in Action: http://www.manning.com/ibsen > hawtio: http://hawt.io/ > fabric8: http://fabric8.io/
