8 Replies Latest reply: Feb 11, 2013 10:30 PM by Vaibhav Bhasin RSS

    Flex + amf php server deployment problem

    Vaibhav Bhasin

      Hi all,

       

      After almost a month of research on this problem. I was able to remove all my errors on production but still not able to retrieve data.

      Please help......

      Here is the scenerio details :

      I created a form which will take input from user and store those values in database.you can visit it here on web server :

      http://www.accurateoptics.in/

      I followed all the steps mentioned on adobe's test drive tutorial. It works fine on my local machine with WAMP installation. But the moment,

      I upload it...Bang!!!! there comes the error ::::

      Channel.Connect.Failed error NetConnection.Call.BadVersion: : url: http://www.accurateoptics.in/gateway.php

      I googled again, read a lot of articles and figured out that some changes are required in my gateway.php and amf-config.ini files for production environment.

       

      Did the necessary changes and uploaded again.Bang!!!!!!! new error comes:::::::

      Channel disconnected before an acknowledgement was received.

       

      to solve this, again googled a lot and figured out that i need to upload zend framework files so, did that and setting up the path for zend in amf-config.ini.

      uploaded again.

       

      Now, i am stuck at this point where no error is thrown only an alert box comes with a ok button. also, data is not retrieved from server.

      error screenshot.png

       

      I dont know what error i am making.here is my amf-config.ini file:::::::::::::

       

      [zend]

      ;set the absolute location path of webroot directory, example:

      ;Windows: C:\apache\www

      ;MAC/UNIX: /user/apache/www

      webroot =http://www.accurateoptics.in

       

      ;set the absolute location path of zend installation directory, example:

      ;Windows: C:\apache\PHPFrameworks\ZendFramework\library

      ;MAC/UNIX: /user/apache/PHPFrameworks/ZendFramework/library

      ;zend_path =

      zend_path = ./ZendFramework/library

      [zendamf]

      amf.production = true

      amf.directories[]= http://www.accurateoptics.in/services

       

      here is my gatway.php file :::::::::::::;

       

      <?php

      ini_set("display_errors", 1);

      //$dir = dirname(__FILE__);

      $dir = '.';

      $webroot = $_SERVER['DOCUMENT_ROOT'];

      //$configfile = "$dir/amf_config.ini";

      $configfile = "amf_config.ini";

      //default zend install directory

      $zenddir = $webroot. '/ZendFramework/library';

       

      //Load ini file and locate zend directory

      if(file_exists($configfile)) {

      $arr=parse_ini_file($configfile,true);

      if(isset($arr['zend']['webroot'])){

      $webroot = $arr['zend']['webroot'];

      $zenddir = $webroot. '/ZendFramework/library';

      }

      if(isset($arr['zend']['zend_path'])){

      $zenddir = $arr['zend']['zend_path'];

      }

      }

       

        

      // Setup include path

      //add zend directory to include path

      set_include_path(get_include_path().PATH_SEPARATOR.$zenddir);

      // Initialize Zend Framework loader

      require_once 'Zend/Loader/Autoloader.php';

      Zend_Loader_Autoloader::getInstance();

      // Load configuration

      $default_config = new Zend_Config(array("production" => false), true);

      $default_config->merge(new Zend_Config_Ini($configfile, 'zendamf'));

      $default_config->setReadOnly();

      $amf = $default_config->amf;

       

      // Store configuration in the registry

      Zend_Registry::set("amf-config", $amf);

      // Initialize AMF Server

      $server = new Zend_Amf_Server();

      $server->setProduction($amf->production);

      if(isset($amf->directories)) {

      $dirs = $amf->directories->toArray();

      foreach($dirs as $dir) {

      // get the first character of the path.

      // If it does not start with slash then it implies that the path is relative to webroot. Else it will be treated as absolute path

      $length = strlen($dir);

      $firstChar = $dir;

      if($length >= 1)

      $firstChar = $dir[0];

       

      if($firstChar != "/"){

      // if the directory is ./ path then we add the webroot only.

      if($dir == "./"){

      $server->addDirectory($webroot);

      }else{

      $tempPath = $webroot . "/" . $dir;

      $server->addDirectory($tempPath);

      }

      }else{

      $server->addDirectory($dir);

      }

      }

      }

      // Initialize introspector for non-production

      if(!$amf->production) {

      $server->setClass('Zend_Amf_Adobe_Introspector', '', array("config" => $default_config, "server" => $server));

      $server->setClass('Zend_Amf_Adobe_DbInspector', '', array("config" => $default_config, "server" => $server));

      }

      // Handle request

      echo $server->handle();

      ?>

       

       

      Looking for some help!! Thanks in advance..............