After removing "<scope>provided</scope>" from my POM and including the service-camel dependency, as instructed, I got instead a LinkageError saying that both the SU class loader and the class loader for org.apache.camel.model.ProcessorType have different Class objects for the type org.apache.camel.processor.aggregate.AggregationStrategy.
I'm confused, if you are using ServiceMix 220.127.116.11 , you'd better wrap your camel-context into the OSGi bundle instead of using SMX3's SU way.
Even SMX4 supports SMX3's service assembly, but you still have chance to get into the ClassLoader issue, so I suggest you take a look at the SMX4's camel example to try the new way.
I've migrated my Camel applications out of service-camel and got them to work as expected.
I didn't migrate my HTTP applications out of servicemix-http, though, and think we need a better replacement for its SOAP endpoints, CXF applications + camel-nmr, for example, is too much work.
Thanks for the help.