3 Replies Latest reply on May 22, 2009 1:15 AM by Muzak

    Flex + CF VO problems


      I have written a VO that is causing me a massive headache. The VO is a very simple VO but is causing me to bang my head against the desk.


      The isuse I have having is when I attempt to make a rpc call to a cfc while passing this vo as a parameter I get back the error.

      [RPC Fault faultString="Unable to invoke CFC - The PERSONVO parameter to the sGetPerson_Company function is required but was not passed in." faultCode="Server.Processing" faultDetail=""]. I have every possbile way to verify that the VO is being sent, but nothing works.


      Just to add some history. I have validated that the VO is correctly being returned from he CFC.

      I have validated that the VO is correctly returning the data when I trace out the VO before I send it.


      So I could really use an extra set of eyes on this. Any help with this is greatly appreciated.


      Here is my current code.


      Action/Result methods:

                  public var acKeys:ArrayCollection;
                  public var acPerson:ArrayCollection;
                  public var companyVO:CompanyVO;
                  public var personVO:CompanyPersonVO;


                      @brief: Display all company people
                  private function aGetCompanyPerson():void
                      personVO = new CompanyPersonVO();
                      personVO.company_id = companyVO.alt_id;
                      @brief: ResultEvent for get keys
                  private function rGetCompanyPerson(event:ResultEvent):void
                      //acPerson = new ArrayCollection(event.result as Array);




      AS VO:

      package com.rottmanj.model.vo
          public class CompanyPersonVO
              public var company_person_id:String                        = "";
              public var person_id:String                                = "";
              public var company_id:String                            = "";
              public var person_type:String                            = "";
              public var person_title:String                            = "";
              public var first_name:String                            = "";
              public var mid_name:String                                = "";
              public var last_name:String                                = "";
              public var pref_display:String                            = "";
              public var lang_pref:String                                = "";
              public var is_active:Boolean                            = false;
              public function CompanyPersonVO()





      CFC VO:

      <cfcomponent output="false" alias="com.rottmanj.model.vo.CompanyPersonVO">

          <cfproperty name="company_person_id" type="string" default="">
          <cfproperty name="person_id" type="string" default="">
          <cfproperty name="company_id" type="string" default="">
          <cfproperty name="person_type" type="string" default="">
          <cfproperty name="person_title" type="string" default="">
          <cfproperty name="first_name" type="string" default="">
          <cfproperty name="mid_name" type="string" default="">
          <cfproperty name="last_name" type="string" default="">
          <cfproperty name="pref_display" type="string" default="">
          <cfproperty name="lang_pref" type="string" default="">
          <cfproperty name="is_active" type="boolean" default="1">


              //Initialize the CFC with the default properties values.
              this.company_person_id = "";
              this.person_id = "";
              this.company_id = "";
              this.person_type = "";
              this.person_title = "";
              this.first_name = "";
              this.mid_name = "";
              this.last_name = "";
              this.pref_display = "";
              this.lang_pref = "";
              this.is_active = 1;


          <cffunction name="init" output="false" returntype="CompanyPersonVO">
              <cfreturn this>



      CFC method I get the error from

          <cffunction name="sGetPerson_Company" access="remote" returntype="com.rottmanj.model.vo.CompanyPersonVO[]">
              <cfargument name="personVO" required="true" type="com.rottmanj.model.vo.CompanyPersonVO">
                  <cfset personDAO         = CreateObject( "component", "com.rottmanj.model.dao.CompanyPersonDAO").init( "test_dev" ) />
                  <cfset rPersonVO        = personDAO.getPerson_CompanyDAO(personVO)>
              <cfreturn rPersonVO />