【问题标题】:Coldfusion 10 invoke cfc errorColdfusion 10调用cfc错误
【发布时间】:2013-03-30 01:55:53
【问题描述】:

有人知道如何解决这个问题吗?

"Unable to invoke CFC - The value returned from the getAllContacts function is not of type Contacts[].

如果将组件名称指定为返回类型,则可能找不到或无法访问该组件的定义文件。”

谢谢。

[更新]

当然:这是 ContactsService.cfc 中的代码:

<cfcomponent output="false">

    <!--- [irrelevant code removed] --->

    <cffunction name="getAllContacts" returntype="Contacts[]" access="remote">
        <cfreturn entityload("Contacts") />
    </cffunction>

    <!--- [irrelevant code removed] --->

Contacts.cfc 中的代码:

<cfcomponent persistent="true" table="Contacts"  output="false">
    <cfproperty name="id" column="id" type="numeric" ormtype="int" fieldtype="id"  /> 
    <cfproperty name="company" column="company" type="string" ormtype="string"  /> 
    <cfproperty name="Sub_Heading" column="Sub_Heading" type="string" ormtype="string"/> 
    <cfproperty name="Department" column="Department" type="numeric" ormtype="int"  /> 
    <cfproperty name="boss" column="boss" type="string" ormtype="string"  /> 
    <cfproperty name="Room" column="Room" type="string" ormtype="string"  /> 
    <cfproperty name="Phone" column="Phone" type="string" ormtype="string"  />  
</cfcomponent>

【问题讨论】:

  • 我已将您的代码从我的答案中取出,并将其弹出到您的问题中(这是它所属的地方)。
  • 我会把returntype 拿走,或者只是将它设置为array 并每天调用它。 CF 需要验证数组是否仅包含该类型。问题解决了。
  • 没有真正“解决问题”@Henry:代码应该按原样工作,所以这里肯定有一些东西,简单地掩盖当前错误会导致有问题的情况在调用代码中冒泡,这对任何人都没有帮助。
  • @AdamCameron 我同意,但是摆脱该返回类型问题将向作者说明其背后的真正问题,这很可能是因为它是一个空数组,找到了 0 个实体。

标签: coldfusion runtime-error invoke cfc coldfusion-10


【解决方案1】:

你没有给我们太多的帮助!几乎可以说是“错误消息非常清楚地解释了可能出了什么问题”。如果您发布一些代码,那么我们可以给您一个更好的主意。

但基本上你的方法期望返回一个联系人对象数组,但这不是你想要返回的。

如果您扩展您的问题以包含足够的信息以正确回答,我会更新答案以更彻底...

更新 1 我仍然无法回答你的问题,但我可以在这个答案的基础上再做一点。

在我看来,您的 entityLoad() 实际上并没有找到任何东西。您是否存储了任何联系人?

你能不能把你的方法改成这样:

<cffunction name="getAllContacts" returntype="ANY" access="remote">
    <cfset var allContacts = entityload("Contacts")>
    <cfdump var="#allContacts#">
    <cfreturn allContacts>
</cffunction>

然后调用该方法,看看它输出了什么。这应该会给你一个线索。

[待续...如果您是 StackOverflow 的警察,请不要这样做。我知道这还不是一个完整的答案,但是当我们深入了解它时,它将会是。我知道我在做什么]

【讨论】:

  • 谢谢!但不幸的是,情节变厚了。现在 Contact.cfc 和 ContactsService.cfc 不能再在同一个目录下了?? Dreamweaver 有时可能是个小子。我可能做了一些草率的事情并导致了一些并发问题。我只是猜测这一点。
  • DreamWeaver 与此有​​什么关系?显然这是您使用的文本编辑器,但 DW 是否告诉您不能将 CFC 放在同一个目录中,或者您是否收到 CF 错误?我会忽略 DW 给你的愚蠢信息,TBH。
  • 所以你现在已经排序了,这变得有点不成问题了?如果是的话,你能把它删掉吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多