beanFactory error

Hi

I am trying to populate a Transfer bean with rc collection (via form
post) using beanFactory.populateBean method and getting the following
error:

Application Execution Exception
Error Type: Object : [N/A]
Error Messages: The selected method getCanonicalName was not found.
Either there are no methods with the specified method name and
argument types, or the method getCanonicalName is overloaded with
arguments types that ColdFusion can't decipher reliably. If this is a
Java object and you verified that the method exists, you may need to
use the javacast function to reduce ambiguity.

ID: CF_STRUCTBEAN
LINE: 364
Template: C:\Apache\Apache\htdocs\coldbox\system\plugins
\beanFactory.cfc

any idea what i m doing wrong?

Cheers
MAQ.

1. did you define a form input field CanonicalName?
2. is this a simple value?
3. is the transfer object attribute 'CanonicalName' a simple value?
4. try using myobject.getMemento() for debugging info
5. try setting the value without populate bean plugin, so
setCanonicalName(rc.canonicalName)

Ernst

- I dont have any field called "CanonicalName"

- beanFactory.cfc contains a call getCanonicalName() at line 364
inside catch block:

      catch(Any e){
        if (isObject(arguments.memento[key]) OR isCustomFunction
(arguments.memento[key])){
          arguments.keyTypeAsString = getMetaData(arguments.memento
[key]).name;
        }
        else{
              arguments.keyTypeAsString = arguments.memento[key].getClass
().getCanonicalName();
        }
        throw(type="ColdBox.plugins.beanFactory.PopulateBeanException",
            message="Error populating bean #getMetaData(beanInstance).name#
with argument #key# of type #arguments.keyTypeAsString#.",
            detail="#e.Detail#<br>#e.message#");
      }

- I am disabling some form fields based on user selection, do you
think this can be causing that issue? (I am going try readonly
property instead of disabled)

- Yes if I manually check the field values from the rc collection and
then set them by using obj.set() it works fine

Cheers

That means, that there was a problem populating a setter, but the weird part is that it cannot determine the type by using the getCanonicalName() of the class object.

Weird