Agosto 1st 2007 03:04 am

Depurar webservices com Zend Studio + PHP Soap

O Zend Studio disponibiliza uma ótima forma para depurar códigos através do browser, o problema é quando utilizamos webservices com as classes SoapClient e SoapServer.

Quando iniciamos uma depuração através do browser utilizando o Zend Studio Tool Bar são postados alguns cookies para o webserver que devidamente configurado inicia a depuração do script php, o problema é que quando chamamos um método remoto com o SoapClient os cookies não são replicados automáticamente para o webservice.

Uma forma simples para resolver este problema é setar os cookies manualmente na instância da classe SoapClient da seguinte forma.

PHP:
  1. ini_set("soap.wsdl_cache_enabled", "0");
  2.  
  3. $oSoapClient = new SoapClient("service.wsdl");
  4.  
  5. $aOptions = array (
  6.        "start_debug"=> "1",
  7.        "debug_port"=> "10000",
  8.        "debug_host"=> "localhost",
  9.        "debug_stop"=> "1");
  10.  
  11. foreach($aOptions as $key => $val) {
  12.         //seta os cookies que disparam o início da depuração
  13.     $oSoapClient->__setCookie($key,$val);
  14. }
  15.  
  16. var_dump($oSoapClient->getUser());

sendo assim ao chamar o serviço $oSoapClient->getUser() a depuração de seu serviço será iniciada no Zend Studio.

Para configurar o debug

Baixe a dll do debugger na seguinte url http://downloads.zend.com/pdt/server-debugger/

descompacte e adicione no seu php.ini

zend_extension_ts="/caminho/para/dll/ZendDebugger.dll"

Nota: o Zend Debugger apresenta incompatibilidade com algumas extensões de profile como xDebug, APC e outras, caso pretenda usa-lo desabilite estas extensões.

Fiz um exemplo bem prático, para baixar clique aki

Caso queiram saber mais sobre as formas de utilização das classes SoapServer e SoapClient a um belo tutorial no Zend Developer Zone http://devzone.zend.com/node/view/id/689.

Espero ter ajudado, em caso de dúvidas comentem ai que conversamos.

Compartilhe:
  • del.icio.us
  • Google
  • Digg
  • Sphinn
  • Facebook
  • Mixx
  • LinkedIn
  • Live
  • Rec6
  • Technorati
  • TwitThis
1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (1 votos, média: 5 de 5)
Loading ... Loading ...

No Comments yet »

Trackback URI | Comments RSS

Leave a Reply

« Zend Framework - MVC na linha de comando | É liberada a versão 1.0.1 do Zend Framework »