Esse exemplo é para fins didáticos e caso você for usar algum Web Server mais complexo sugiro o uso de um Framework PHP.
Primeiro vamos testar o caminho do nosso Web Server no navegador
Identificando os atributos, nome do objeto e método principal agora já podemos escrever o nosso código PHP.
<?php //Testa se existe a LIB Soap habilitada no PHP if (!extension_loaded("soap")) { dl("php_soap.dll"); } //libera o cache do Soap ini_set("soap.wsdl_cache_enabled", "0"); //instancia o objeto soap $client = new SoapClient("http://localhost/webserver.NetEnvironment/awebserver.aspx?wsdl"); //Cria o parâmetro que é um array associativo de CPF e numero. $array = array('Cadclientecpf' => 14840960887); /*O objeto cliente tem o método (execute) que tem o nosso parâmetro array.*/ $search = $client->Execute($array); /*caso queira ver o resultado em array de um print_r($search); Temos uma condição se falso mostra mensagem se não mostra o resultado. */ if ($search->Empcod->SDTCartaoSescId == 0) { echo "Não foi encontrado nenhum registro!"; } else { echo 'Nome: ' . $search->Empcod->SDTCartaoSescNome; echo '<br/>'; echo 'CPF: ' . $search->Empcod->SDTCartaoSescCpf; echo '<br/>'; echo 'ID: ' . $search->Empcod->SDTCartaoSescId; } ?>
Outra forma de identificar itens do Web Server é usando o
Software SoapUI
Basta você abrir o sua URL dentro do SoapUI como mostra na imagem e fazer a sua consulta:
Boa noite, tudo bem?
ResponderExcluirPeguei o seu exemplo para fazer um teste e chamar um WS em genexus, com o soapui funcionou com a chamada PHP não funcionou.
Tem alguma ideia do que pode ser?
Muito obrigado, abraço.
Boa Noite Eduardo, Desculpa a demora em responder pois fazia tempo que não escrevia no blog. Primeiro você está com o extensão do php_soap.dll ativo no php.ini? se não ative ela. Outra dica que posso te dizer é de um print_r($search); para ver se está chegando algo. E por ultimo veja se você esta passando no método "execute" constantes como array, pois se forem com variáveis é de outro jeito que é feito. qualquer coisa avisa ai abraço!
Excluir