Consulta CEP webservice sigep correios - sc_webservice x consulta php puro

[size=12pt]Tenho um blank para teste onde no evento onExecute coloquei o código:[/size]

$clientpuro = new SoapClient(“https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl”);
$cep=array(‘cep’ => “81750270”);
$resultado=$clientpuro->consultaCEP($cep);
echo “Consulta por CEP no webservice sigep dos correios.

Retorno usando php puro:

”;
echo "Endereço: ".$resultado->return->end;
echo "
Complemento: ".$resultado->return->complemento;
echo "
Complemento2: ".$resultado->return->complemento2;
echo "
Bairro: ".$resultado->return->bairro;
echo "
Estado: ".$resultado->return->uf;
echo "
CEP: ".$resultado->return->cep;
echo "
ID: ".$resultado->return->id;

echo “

Retorno usando sc_webservice:
”;

$clientsc=sc_webservice(“soap”, “https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl”, “80”, “”, “”, array(‘connection_timeout’ => 1000),“30”,“false”);
$cepsc=array(‘cep’ => “81750270”);
$resultadosc=$clientsc->consultaCEP($cepsc);
echo “
”;
echo "Endereço: ".$resultadosc->return->end;
echo "
Complemento: ".$resultadosc->return->complemento;
echo "
Complemento2: ".$resultadosc->return->complemento2;
echo "
Bairro: ".$resultadosc->return->bairro;
echo "
Estado: ".$resultadosc->return->uf;
echo "
CEP: ".$resultadosc->return->cep;
echo "
ID: ".$resultadosc->return->id;

E me veio 3 perguntas:

1) Por que a a macro sc_webservice é tão mal documentada?
Veja o caso:
Array de Configuração(opcional) Array de parâmetros para configuração do método de acesso utilizado.
sc_webservice(“Método”, “URL”, “Porta”, “Método de Envio”, “Array de Parâmetros”, “Array de Configuração”, “Timeout”, “Retorno”)

Se eu tirar array(‘connection_timeout’ => 1000) que é opcional de $clientsc=sc_webservice(“soap”, “https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl”, “80”, “”, “”, array(‘connection_timeout’ => 1000),“30”,“false”);
O objeto $clientsc não me trás mais o resultado da consulta.
Se uso php puro nem preciso informar isto.
Bug? Algo que falta na documentação dizendo que preciso usar este valor no Array de parâmetros para configuração?

2) Em comparação com a consulta em PHP puro o sc_webservice me faz digitar mais, não era para facilitar?
Comparação:
$clientpuro = new SoapClient(“https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl”);
$clientsc=sc_webservice(“soap”, “https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl”, “80”, “”, “”, array(‘connection_timeout’ => 1000),“30”,“false”);

3) A Netmake poderia liberar mais exemplos de uso da macro sc_webservice e do uso dos parâmetros?
Porque ao meu ver ou você faz a conexão e trás os dados em menos de 2 minutos em php puro.
Ou fica 1 hora tentando descobrir que parâmetros colocar no sc_webservice para fazer a macro funcionar.

Observação:

https://www.correios.com.br/para-sua-empresa/encomendas/sigep-web
Público a que se destina

Pessoas jurídicas com contrato firmado com os Correios para prestação de serviços qualificados: Registrados, SEDEX, Encomenda PAC, etc.

No caso de sua empresa ou órgão público efetuar postagens de objetos qualificados, porém sem ser por meio de de contrato e tem interesse em utilizar o SIGEP WEB, procure a Gerência comercial dos Correios mais próxima para viabilizar a assinatura de um contrato.

A utilização dos sitema é gratuita. Se sua empresa já usa o SIGEP, migre para o SIGEP WEB e otimize a sua logística. Se a sua empresa ainda não baixou o aplicativo, não perca mais tempo.

bem observado Ale.

Oi. usei seu codigo para recuperar o CEP mas ele demora muito tempo para retornar. É assim mesmo ?

if(!empty({STXX_08CEP})) // Verifica se os campo CEP está preenchido
{

$clientsc = new SoapClient("https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl");

//$clientsc=sc_webservice("soap", "https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl", "80", "", "", array('connection_timeout' => 1000),"30","false");	

$cepsc=array('cep' => {STXX_08CEP});
$resultadosc=$clientsc->consultaCEP($cepsc);

{STXX_03Logradouro} = $resultadosc->return->end;
//{STXX_04Complemento} = $resultadosc->return->complemento;
{STXX_05Bairro} = $resultadosc->return->bairro;	
{STXX_06Localidade} = $resultadosc->return->cidade;	
{STXX_07Uf} = $resultadosc->return->uf;
{STXX_09Pais} = "Brasil";

Não é para demorar.
Mas as vezes o webservice do correio fica lento ou sai do ar.
Quem tem e-commerce sabe que não deve confirmar somente no webservice dos correios.

Seria legal se o SC já fornecesse internamente com a ferramenta base de CEPS + IBGE todo ano atualizada junto com a ferramenta, ai
era só ativar o Campo CEP igual já tem e ele mesmo já colocaria todas as informações + o Código do IBGE.

Sabemos que o SC tem a base de CEPS interna mas nem sabemos de que ano.

Tem este pessoal que junta parte da base DNE básica dos correios + o IBGE e vende a base atualizada:
http://www.qualocep.com/