Spring-WS component does not behave as expected from pipes and filters pattern if exchange is not outCapable.
If ExchangeHelper.isOutCapable returns false for the given exchange the IN-message is returned instead of the WS-Response.
In the example above I would expect the WS-response written to the files in the responses directory. Currently (since 2.7.3) the IN message is written to the files.
This is caused by SpringWebserviceProducer#process because it only sets headers and body for the OUT-message if isOutCapable is true.
Workaround (maybe this has side effects!):
This behavior has been implemented to fix
CAMEL-3974. From my point of view its counter intuitive since other processing-steps don't check the exchange's outCapability.
It took me several hours to find out why I always got the IN message back, although the webservice was called correctly and returned correct results.
Maybe an option should be provided to control this behavior. At least a log-message should be written to explain, that the webservice-reponse is thrown away.