Ghean 0 Denunciar post Postado Julho 29, 2011 Olá. Gostaria de saber se alguém já trabalhou com a Zend_Soap. Gostaria de obter maiores informações sobre a classe e também algumas praticas ou dicas sobre segurança. Grato Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 29, 2011 Cliente ou servidor? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Julho 29, 2011 Os dois. ^_^ Como deve ser feita a comunicação entre os dois? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 29, 2011 Mas você quer criar um webservice Client ou Server? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Julho 30, 2011 Então... não sei a diferença entre eles. Mas o que preciso é o seguinte: Minha aplicação esta rodando no servidor A, em determinado momento preciso que seja executado algumas operações no servidor B. Esse servidor B será apenas para armazenagem de alguns arquivos. Por exemplo, acesso minha aplicação no servidor A e após o cadastro, acesso o servidor B e passo uma key de cadastro. o webservice no servidor B valida essa key e cria uma estrutura de pastas, por exemplo. Algo desse tipo... Gostaria de saber se da pra ser feito dessa forma e quais os riscos. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 30, 2011 No servidor B você vai criar um Server. No servidor A você vai consumir o serviço do servidor B (Client). Sobre as questões de segurança, é seguro como qualquer webservice é. O que você precisa é estudar um pouco sobre como criar um Webservice. Conceito, formas de trabalhar, segurança... Algo nesta linha, independente da linguagem utilizada. Depois você estuda um pouco sobre o Zend_Soap, que na verdade é uma implementação da classe Soap do PHP. Ou pode ser que você veja que outra forma de trabalhar com Webservice é mais adequado à sua necessidade. Analisando por cima a sua situação, não sei se seria necessário criar webservice, já que não há necessidade de retornar dados do servidor B para o servidor A (ou há?). Talvez só criar uma rotina com cURL seja mais simples de fazer, já que você pode enviar autenticação por ele. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Julho 31, 2011 Há possibilidade de fazer um upload para o sevidor B atravez da aplicação que esta no servidor A? Isso também pode ser feito pelo cURL? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 31, 2011 Olha, tenho 99% de certeza que sim. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Julho 31, 2011 Você acha melhor via cURL ou algo com o SOAP? Pode me ajudar a criar essa app? Grato. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 1, 2011 Cara, o Soap e o cURL tem utilizações bem distintas. O Soap você deve utilizar se necessitar de algum resultado do server B. Caso contrário, se for só para enviar dados do server A para o B e o B fazer alguma rotina, mas que não precise retornar nenhuma informação, cURL vai servir perfeitamente para o que você precisa. Uma das utilizações do cURL é simular o envio de um formulário, mas sem que haja o formulário (esta é uma explicação bem simplória, OK?). Agora, sobre te ajudar a criar, posso te ajudar nas dúvidas que você tiver. Como você está utilizando o Zend Framework, utilize o Zend_Http_Client_Adapter_Curl, que é a abstração do cURL. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Agosto 1, 2011 Legal. Nesse caso o que realmente farei é enviar os dados de um servidor par o outro e executar somente um rotina. Irei ler sobre Zend_Http_Client_Adapter_Curl e fazer alguns testes, qualquer dúvida torno a postar. Mais uma vez muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Agosto 1, 2011 Conforme exemplo, fiz o trecho abaixo para subir uma imagem pela aplicação rodando localmente (servidor A) para um servidor onde se encontra a aplicação online (servidor B). $putFileSize = filesize( APPLICATION_PATH . "\data\koala.jpg" ); $putFileHandle = fopen( APPLICATION_PATH . "\data\koala.jpg", "r"); $adapter = new Zend_Http_Client_Adapter_Curl(); $client = new Zend_Http_Client( "http://desenv.meusite.com.br/koala.jpg" ); $client->setAdapter($adapter); $adapter->setConfig(array( 'curloptions' => array( CURLOPT_URL => "ftp://login:senha@desenv.meusite.com.br/koala.jpg", CURLOPT_UPLOAD => 1, CURLOPT_INFILE => $putFileHandle, CURLOPT_INFILESIZE => $putFileSize ) )); $client->request("PUT"); Verificando no servidor B, vi que a imagem foi transferida normalmente. Mas a aplicação local sempre retorna um erro: Exception information: Message: Error in cURL request: Stack trace: #0 C:\wamp\www\teste\library\Zend\Http\Client.php(987): Zend_Http_Client_Adapter_Curl->write('PUT', Object(Zend_Uri_Http), '1.1', Array, '') #1 C:\wamp\www\teste\application\controllers\IndexController.php(70): Zend_Http_Client->request('PUT') #2 C:\wamp\www\teste\library\Zend\Controller\Action.php(513): IndexController->testeAction() #3 C:\wamp\www\teste\library\Zend\Controller\Dispatcher\Standard.php(295): Zend_Controller_Action->dispatch('testeAction') #4 C:\wamp\www\teste\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #5 C:\wamp\www\teste\library\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch() #6 C:\wamp\www\teste\library\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() #7 C:\wamp\www\teste\public\index.php(33): Zend_Application->run() #8 {main} Seria assim mesmo a utilização dessa classe? Compartilhar este post Link para o post Compartilhar em outros sites