Spring-expression 3.1 unconditionally converts all arguments for method calls; MessageHeaders and MessageHistory do not have no-arg constructors and the MapToMapConverter always attempts conversion, in case any elements require conversion. We are exploring a Spring 3.1 change but, in the meantime, we have a detour in BeanFactoryTypeConverter in that we can skip conversion of these types.