I am trying to use bean with reference and method call.The bean has
overloaded methods and hence it is being called in this way.The below
method call was populated with parameter type and value in reference to the
guidanct provided in  here.
https://camel.apache.org/manual/bean-binding.html#_declaring_parameter_type_and_value

My bean spring DSL looks as below

<bean ref=bean1 method="Sendmsg(java.lang.String.class ${body},
Java.lang.String.class {{appsproperty.value}})"

I get  ambiguous method invocation possible exception.
On investigating further this was drilled down to issue happening during
the matchmethod call in BeanInfo class under org.apache.camel.component.

The matchmethod was calling the method splitsafequote method with 4
parameters (input seperator trime:true and keepquote:true) in
strignquotehelper class under org.apache.camel.util which splits the
parameters and types.The problem was isolated to the type and value
concatenated with space between them ignored.The flag skipleadingwhitespace
is set to true and is never changed which ignores the space and is missed
in the parsing logic.
This in turn breaks at the match method which looks for the indexof(32)
which is for a whitespace and since it's not there it returns -1 and there
by breaking the whole purpose of passing parameter type and value.

Camel version used :4.5.0
Camel components:camel-bean and camel-util

Please let know if this is a bug or if any missing configuration from.my
side

PS:I changed the flag to false and it works fine with the above bean method
call

Thanks
Logeshwaran Devakar

Reply via email to