2011-09-01 2 views
0

Я следовал инструкциям в этом руководстве, чтобы настроить Zend AMF как способ передачи данных от моего флэш-приложение для моего PHP приложение:доступ к каталогу услуг при настройке Zend AMF в Codeigniter

http://codeigniter.com/forums/viewthread/180414/

Так У меня есть структура каталогов и все, что описано здесь. Это мой контроллер шлюза:

class Gateway extends CI_Controller 
{ 
     function __construct() 
     { 
       parent::__construct(); 
       $this->load->library('zend'); 

       //root_folder + application + controllers + amf + services 
       define('SERVICES_FOLDER', APPPATH.'controllers/amf/services/'); 
     } 

    public function index() 
    { 

      $server = new Zend_Amf_Server(); 

      $server->setProduction(false); 

      //$server->addFunction('testservice'); 

      $server->addDirectory(SERVICES_FOLDER); 

      echo $server->handle(); 
    } 

}

И AppPath это/приложение/поэтому путь определяется SERVIES_FOLDER является «/ приложение/контроллеры/АМФ/услуги», который является, где мой файл «TestService. php 'сидит.

Когда я пытаюсь подключиться к этой службе вспышки:

var gateway:String = "http://mysite.com/amf/gateway"; 
con.connect(gateway); 
con.call("Testservice.getMessage", new Responder(onResult, onFault)); 

вызывается метод onFault и отображает сообщение об ошибке:

Plugin by name 'Testservice' was not found in the registry;

Что заставляет меня думать, что addDirectory() линия Gateway.php была проблема как-то. Интересно, что я также не могу получить доступ к функции serviceervice через URL-адрес, то есть перейдя на mysite.com/amf/services/testservice.

Любые мысли о том, что может происходить здесь?

ответ

0

Понял, что-то вроде.

Вместо использования метода addDirectory, с которым мне не повезло, я использовал метод setClass и создал другой класс в файле gateway.php, который имеет эти функции, и теперь я могу подключиться к этим функциям из флэш.

0

У меня была проблема с этим при использовании parent :: __ construct() в моих сервисных контроллерах. Как только я удалил это, проблема исчезла.