Lançado Adianti Framework 8.1!
Clique aqui para saber mais
Consumir Webservices WSDL Boa tarde Pessoal, Estou desenvolvendo uma aplicação para um cliente onde ele precisa consumir webservies de outra aplicação. Tentei pegar aqui no forum e adaptar a minha necessidade os posts https://www.adianti.com.br/forum/pt/view_1645?consumindo-servico-wsdl-com-autenticacao, https://www.adianti.com.br/forum/pt/view_1638?consumir-servico-wsdl e https://www.adianti.com.br/forum/pt/view_112...
JP
Consumir Webservices WSDL  
Boa tarde Pessoal,
Estou desenvolvendo uma aplicação para um cliente onde ele precisa consumir webservies de outra aplicação.
Tentei pegar aqui no forum e adaptar a minha necessidade os posts https://www.adianti.com.br/forum/pt/view_1645?consumindo-servico-wsdl-com-autent, https://www.adianti.com.br/forum/pt/view_1638?consumir-servico-wsdl e https://www.adianti.com.br/forum/pt/view_1129?disponibilizando-web-services-pelo

Porem não consegui evoluir na aplicação.

Os webservices são 2 no seguinte formato de requisição.
URL Servidor: 192.168.0.109:8080/g5-senior-services/sapiens_SyncMCWFUsers?wsdl
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.pirum.com.br"> <soapenv:Body> <ser:ChangePassword> <user>String</user> <password>String</password> <encryption>Integer</encryption> <parameters> <pmUser>String</pmUser> <pmPassword>String</pmPassword> <pmNewPassword>String</pmNewPassword> <pmNewPasswordConfirmation>String</pmNewPasswordConfirmation> </parameters> </ser:ChangePassword> </soapenv:Body> </soapenv:Envelope>


e outro como:

URL Servidor: 192.168.0.109:8080/g5-senior-services/sapiens_Synccom_senior_g5_co_g
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.pirum.com.br"> <soapenv:Body> <ser:obterCliente> <user>String</user> <password>String</password> <encryption>Integer</encryption> <parameters> <codigoEmpresa>Integer</codigoEmpresa> <codigoFilial>Integer</codigoFilial> <codigoCliente>Integer</codigoCliente> </parameters> </ser:obterCliente> </soapenv:Body> </soapenv:Envelope>


Para consumir precisa autenticar, e passar os parametros na chamada.
Sei que preciso criar uma classe de serviço e depois uma classe para consumi-lo, mas nenhum dos posts acima consegui me basear.
Se alguém puder me ajudar seria de grande valia.
Antecipadamente agradeço!

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (1)


JP

Consegui resolver aqui com o exemplo deste blog https://thiagovespa.com.br/blog/2012/05/31/chamando-um-webservice-soap-com-php/.
O código ficou assim:
  1. <?php
  2. $client = new SoapClient('http://192.168.0.109:8080/g5-senior-services/sapiens_Synccom_senior_g5_co_ger_cad_clientes?wsdl');
  3.  
  4. $function 'obterCliente';
  5. $parameters = array(
  6.                 'user'            => 'suporte',
  7.                 'password'        => 'suporte',
  8.                 'encryption'      => 0,
  9.                 'parameters'      => array(
  10.                 'codigoEmpresa'   => 9997,
  11.                 'codigoFilial'    => 1,
  12.                 'codigoCliente'   => 6
  13.                 ));
  14.  
  15. $arguments = array('obterCliente' => array( $parameters));
  16.                         
  17. $options = array('location' => 'http://services.senior.com.br');
  18.  
  19. $result $client->__soapCall($function$parameters);
  20.  
  21. echo 'Response: ';
  22. print_r($result->nomeCliente);
  23. ?>


Como outros também fizeram, vou fazer um artigo com o resultado.