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

    Flex + CF VO problems

    rottmanj

      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:

                  [Bindable]
                  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;
                      //trace(ObjectUtil.toString(personVO));
                      roCompany.sGetPerson_Company(personVO);       
                     
                  }
                 
                  /*
                      @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
      {
         
          [RemoteClass(alias="com.rottmanj.model.vo.CompanyPersonVO")];
         
         
          [Bindable]
          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">

       

          <cfscript>
              //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;
          </cfscript>

       

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

          </cffunction>
      </cfcomponent>

       

      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 />
          </cffunction>