'无法调用CFC - 数据长度不得超过100个字符

时间:2016-06-24 21:21:47

标签: actionscript-3 coldfusion maxlength

我正在尝试按如下方式调用方法:

<cfinvoke component="#variables.target#"
      method="#arguments.methodName#"
      argumentcollection="#arguments.args#"
      returnvariable="rtn">
</cfinvoke>

但是,我收到以下错误:

  

无法调用CFC - “param_value”的数据必须不超过   100个字符。“ faultDetail: ''

变量arguments.args是一个结构,其中一个元素如下所示:

{
    param_name: 'property_uid',
    param_value : '00000000-0000-0000-0000-0000000213131200,00002131300-0000-0000-0000-000000000000,00000000-0000-0000-0000-0000000002122,00000000-0000-0000-0000-000000032242
}

我知道问题是由这个元素引起的,但不知道如何修复它。 请注意,我已经在CF管理员中将最大POST请求参数数从100更新为300。

2 个答案:

答案 0 :(得分:0)

变量property_uid当前是一个列表,列表的值太长,无法作为结构键的值传入。使用listToArray()将数据作为数组发送。如果您需要再次将数据作为列表,请在函数内部使用arrayToList()将其转换回来。

答案 1 :(得分:0)

请检查调用函数的代码(函数名称可以在arguments.methodName组件的变量variables.target中找到。)

查找标记<cfparam name="param_value" ...>并检查是否定义了maxlength属性。它可能设置为100,因此如果您将超过100个字符传递给所述参数,则会导致ColdFusion抛出异常。

限制为100个字符可能是您身边的设计决策(数据库方案?),所以您需要自己解决这个问题。