Sorry was this ever resolved?  I seem to be running into the same issue and
as I dig into the stack I notice that at line 39 and 40 of the class
org.apache.camel.component.aws.ddb.ScanCommand it seems to be over writing
the previous Result headers with the input headers and the only result that
survives is the last result value which is the DdbConstants.SCANNED_COUNT
value.  I can see that my scan call is receiving the items but it gets wiped
out in the outbound headers.

As I dig deeper it seems to be wiped out because the following lines of
code.

-------
package org.apache.camel.component.aws.common;

import org.apache.camel.Exchange;
import org.apache.camel.Message;

public final class AwsExchangeUtil {

    private AwsExchangeUtil() {
    }

    public static Message getMessageForResponse(final Exchange exchange) {
        if (exchange.getPattern().isOutCapable()) {
            Message out = exchange.getOut();
            *out.copyFrom(exchange.getIn());*
            return out;
        }
        return exchange.getIn();
    }
}
-------

The out.copyFrom(exchange.getIn()) method eventually clears the out.headers
which contained the last added header result info from the addToResult
method of the ScanCommand.

I think rather then doing the out.copyFrom, it just returned the out Message
then it would not get wiped and would return all the result information from
the ddb scan call.



--
View this message in context: 
http://camel.465427.n5.nabble.com/Camel-AWS-DDB-scan-query-tp5749255p5781695.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to