我面临一个奇怪的问题。
当我将以下代码片段作为驻留在 CF9 服务器中的 Web 服务使用时,我收到错误“ The value coldfusion.runtime.Struct cannot be convert to a number。”
该调用返回一个结构数组。我想从这个结构数组创建一个查询。当我将此代码作为独立代码放在本地服务器(CF10)中时,它工作正常。但是一旦我将它放在要调用的远程服务器中,我就会收到错误消息。
即使我用硬编码结构替换了变量“tempstruct”,当我收到相同的错误消息时,我差点拔掉头发。只要我删除 QueryAddRow 我就可以返回任何东西。
任何帮助表示赞赏。
<cfset myquery=querynew("category,category_id,event_description","varchar,integer,varchar")>
<cfinvoke
webservice="http://199.99.99.999/vod_queries.cfc?wsdl"
method="getAllCategoryByResort"
returnvariable="arrAllSpaEvents"
refreshwsdl="true" >
<cfinvokeargument name="Resort" value="SRB" >
</cfinvoke>
<cfif arraylen(arrAllSpaEvents) GT 0>
<cfloop array="#arrAllSpaEvents#" index="cur_row">
<cfset tempstruct=StructNew()>
<cfset tempstruct.CATEGORY=cur_row.CATEGORY>
<cfset tempstruct.CATEGORY_ID=cur_row.CATEGORY_ID>
<cfset tempstruct.EVENT_DESCRIPTION=cur_row.EVENT_DESCRIPTION>
<cfset QueryAddRow(myquery,#tempstruct#)>
</cfloop>
</cfif>
<cfreturn myquery>