I'm trying to solve an issue I posted about earlier, where a call to a method of a ColdFusion CFC resulted in an error saying that the required parameter - Estimate - was missing, even though I could see through ServiceCapture that the object was, in fact, being sent.
I'm working on the theory that it's an object translation problem. So I'm testing by calling a getEstimate() method on the CFC as the Flex app starts up, which should return an empty instance of an Estimate. However, the incoming result is being identified as an ObjectProxy, rather than being matched to the Estimate.as VO. And for the life of me, I can't figure out why. I have many other VO/CFC combinations in the application, all being matched up correctly. But the Estimate object just won't fly. I'm hoping someone here can help me figure it out. For reference, here's Estimate.as: ======================== package model { [RemoteClass(alias="meridien.model.estimate")] [Bindable] public class Estimate { public var estimateID:int = 0; public var order:Order = new Order; public var customer:Customer = new Customer; public var configAC:ArrayCollection = new ArrayCollection; public function Estimate(data:Object = null) { } } } } ========================= Here's estimate.cfc ========================= <cfcomponent output="false"> <cfproperty name="estimateID" type="numeric" default="0" /> <cfproperty name="order" type="meridien.model.products.order" /> <cfproperty name="customer" type="meridien.model.customer.customer" /> <cfproperty name="configAC" type="array" default=""> </cfcomponent> ========================= In my getEstimate() method, I have tried creating the object which I sent to Flex in two ways: ========================= <cffunction name="getEstimate" access="remote" output="false" returntype="any"> <cfset var estimate = createObject("component","meridien.model.estimate")> <cfreturn estimate /> </cffunction> ... and <cffunction name="getEstimate" access="remote" output="false" returntype="any"> <cfset var estimate = structNew()/> <cfset estimate['__type__'] = "meridien.model.estimate"> <cfset estimate['estimateID'] = 1 /> <cfset estimate['order'] = createObject("component","meridien.model.products.order") /> <cfset estimate['customer'] = createObject("component","meridien.model.customer.customer") /> <cfset estimate['configAC'] = arrayNew(1) /> <cfreturn estimate /> </cffunction> ============================= Neither work. The nested objects -- Customer and Order -- are recognized and translated in Flex. But the outer Estimate object isn't. Can anyone see what I'm doing wrong here? (All paths are correct, by the way.) -- Thanks, Tom Tom McNeer MediumCool http://www.mediumcool.com 1735 Johnson Road NE Atlanta, GA 30306 404.589.0560