PHP Soap
( Simple Object Access Protocol)
Enfrentando dificuldades para uso de PHP SOAP resolvi escrever este breve rascunho.
Não vamos tratar aqui do Soapserver, apenas das consultas e de forma bem direta e simples, portanto se tiver alguma dúvida deixe seu comentário, se eu souber explico se não souber vou pesquisar para saber.
A primeira coisa que você precisa saber é qual o “envelope” que a aplicação SOAP espera para a requisição, a ferramenta que estou usando para isto é o SoapUI que você baixar aqui.
Para este mini tutorial vamos usar o endpoint de consulta dos correios, que espero sigam uma empresa pública.
O endpoint WSDL dos Correios é:
https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl
Se você acessar esta URL por um navegador receberá o documento XML, através do SoapUI terá as operações e o formato dos envelopes.
Um das funções é a consultaCEP:
Para a consulta você instância o SoapClient.
$client = new \SoapClient($this->url)
No caso a URL dos Correios como informado acima, você pode ainda configurar as opções, para isto verifique na documentação:
SOAP CLIENT (https://www.php.net/manual/pt_BR/class.soapclient.php)
Para configurar o envelope forme o array
$argumentos = array(
‘body’ =>[
‘cep’ => ‘xxxxx-xxx,
]);
$client->__soapCall(‘consultarCEP’, $argumentos);
Como verificar os métodos e respostas
$client->__getFunctions()
$client->__getTypes()
$client->__getLastRequest()