Ugh, this is another sarcastic “Thanks Adobe” moment. As it turns out, in Adobe ColdFusion 2021 update 20, they added a new JVM argument and defaulted the value so it will break Testbox:
- -Dcoldfusion.runtime.remotemethod.matchArguments=true/false. The flag is set to true by default, which enforces strict argument matching. If a remote method expects certain parameters, those arguments must be explicitly declared using the cfargument tag or defined directly in the function signature. For example, if a remote function is defined to accept two arguments, it must only receive those two. Passing more than the declared number (for example, 10) will result in an error. This change ensures stricter method integrity and a better debugging experience. This behavior change applies only to remote CFC methods.
Source:
https://helpx.adobe.com/coldfusion/using/new-jvm-arguments-2023-2021-coldfusion-updates.html
Here’s the fix:
If you’re using Commandbox, update the JVM arguments in your server.json
file to include:
"jvm":{
"args":[
"-Dcoldfusion.runtime.remotemethod.matchArguments=false"
]
}
Source: JVM Args | CommandBox : CLI, Package Manager, REPL & More