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. $function = 'obterCliente';
  4. $parameters = array(
  5. 'user' => 'suporte',
  6. 'password' => 'suporte',
  7. 'encryption' => 0,
  8. 'parameters' => array(
  9. 'codigoEmpresa' => 9997,
  10. 'codigoFilial' => 1,
  11. 'codigoCliente' => 6
  12. ));
  13. $arguments = array('obterCliente' => array( $parameters));
  14. $options = array('location' => 'http://services.senior.com.br');
  15. $result = $client->__soapCall($function, $parameters);
  16. echo 'Response: ';
  17. print_r($result->nomeCliente);
  18. ?>


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