Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pesquisa de CEP #267

Open
alexandrelrv99 opened this issue Aug 15, 2016 · 21 comments
Open

Pesquisa de CEP #267

alexandrelrv99 opened this issue Aug 15, 2016 · 21 comments

Comments

@alexandrelrv99
Copy link

alexandrelrv99 commented Aug 15, 2016

Olá,
Ao realizar a pesquisa de CEP a página fica carregando eternamente.
O que poderá ser?

01

02

@alexandrelrv99
Copy link
Author

Alguém poderia ajudar sobre o caso?
Já tentei várias soluções que foram apresentadas para outros usuários, porém nenhuma teve sucesso.

@andrekutianski
Copy link

Passo pelo mesmo problema, já verificou se a biblioteca SOAP do seu php
está habilitada? Outro problema pode ser seu servidor que não está
conseguindo acessar a URL de busca de cep dos correios

Em qua, 17 de ago de 2016 10:33, alexandrelrv99 [email protected]
escreveu:

Alguém poderia ajudar sobre o caso?
Já tentei várias soluções que foram apresentadas para outros usuários,
porém nenhuma teve sucesso.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#267 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFEeC9rDrZQH7mAjM0ON69qB5WdS6pNsks5qgw21gaJpZM4JkC_g
.

@hansbonini
Copy link

hansbonini commented Aug 18, 2016

Crie um arquivo php e abra no navegador com o seguinte conteúdo:

<?php phpinfo(INFO_MODULES); ?>

Depois cole o resultado aqui, assim saberemos se sua biblioteca SOAP está instalada!

@hansbonini
Copy link

@alexandrelrv99 alguma mudança?

@thiagorock22
Copy link

só definir o ini_set('default_socket_timeout', 30);

@hansbonini
Copy link

Se estiver bloqueada conexão por restrição da hospedagem de nada adianta definir o timeout.

@andrekutianski
Copy link

sem contar que as solicitações de CEP através do webservice dos correios é o cão chupando manga e dando pirueta.

@wilkergaudencio
Copy link

Alguma Solução para o caso? esta acontecendo aqui tb, a url dos correios esta ok, esta dando 404 nesses detalhes do jquery, e ai nao carrega o endereço. @hansbonini @thiagorock22 @alexandrelrv99
garotadev

@hansbonini
Copy link

hansbonini commented Nov 10, 2016

Tem que verificar o acesso da URL dos correios de dentro do seu servidor e nao de sua maquina pra atestar que ela está OK.
Crie um arquivo .php com o seguinte código dentro, execute ele em seu servidor e copie o conteúdo gerado aqui.

<?php
function ping ($host, $timeout = 1) {
        /* ICMP ping packet with a pre-calculated checksum */
        $package = "\x08\x00\x7d\x4b\x00\x00\x00\x00PingHost";
        $socket = socket_create(AF_INET, SOCK_RAW, 1);
        socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => $timeout, 'usec' => 0));
        socket_connect($socket, $host, null);
        $ts = microtime(true);
        socket_send($socket, $package, strLen($package), 0);
        if (socket_read($socket, 255)) {
            $result = true;
        } else {
            $result = false;
        }
        socket_close($socket);
        return $result;
 }

 $soapURI = "https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl";

// Verifica se o servidor consegue acessar os correios
var_dump(ping($soapURI));
// Verifica se tem o modulo SOAP
// phpinfo(INFO_MODULES);

@fabioluis6
Copy link

no meu esta dando esse erro ao buscar o cep

validation.js:186 Uncaught ReferenceError: BASE_URL is not defined
at buscaCep (validation.js:186)
at HTMLInputElement.onblur ((index):658)
buscaCep @ validation.js:186
onblur @ (index):658
prototype.js:1530 XHR finished loading: POST "https://lojamoranguinhos.com.br/onestepcheckout/ajax/saveAddress/".
request @ prototype.js:1530
initialize @ prototype.js:1495
(anonymous) @ prototype.js:429
klass @ prototype.js:101
runRequest @ onestepcheckout.js:215
startRequest @ onestepcheckout.js:140
onAddressChanged @ address.js:244
(anonymous) @ prototype.js:391
responder @ prototype.js:5598

@fabioluis6
Copy link

eu criei o arquivo .php que vc informar ai em cima e ele me retornou isso.

bool(false)

@fabioluis6
Copy link

fiz uma correção na chamada e o erro agora é esse:

GET https://lojamoranguinhos.com.br/default/onestepcheckout/ajax/busca_cep?cep=80020270&_=1482414206053 404 (Not Found)

@mateussouzaweb
Copy link

Já passei por este problema em umas 3 lojas, a solução foi alterar o arquivo app/code/community/Inovarti/Onestepcheckout/controllers/AjaxController.php e substituir o código da linha 752 a 755 para:

$clientSoap = new SoapClient("https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl", array(
                'soap_version' => SOAP_1_1, 'encoding' => 'utf-8', 'trace' => true, 'exceptions' => true,
                'cache_wsdl' => WSDL_CACHE_BOTH, 'connection_timeout' => 5, 
		'stream_context' => stream_context_create(array(
			'http' => array(
				'protocol_version' => '1.0',
				'header' => 'Connection: Close'
			)
		))
            ));

O parâmetro adicional (stream_context) faz com que a conexão com o SOAP feche corretamente, liberando o servidor para processamento e removendo este "travamento".

Não acontece em toda hospedagem, mas notei que acontece muito na hospedagem da Nexcess. É algo relacionado a versão do PHP instalado...

Há várias issues relacionadas ao CEP aqui, talvez isto resolva boa parte delas.

@isanat
Copy link

isanat commented Jun 26, 2017

nada relevante ainda para ajudar? estou com o esmo problema na minha loja.

@hansbonini
Copy link

@isanat já faz um tempo que o pessoal mantenedor do projeto não se pronuncia, acho que abandonaram o suporte.

@hansbonini
Copy link

@fabioluis6 o arquivo retornou bool(false) exatamente pq seu servidor não consegue acessar o sigep. tem q entrar em contato com suporte pra liberar o acesso lá ou mudar de servidor

@thiagorock22
Copy link

Olá. No fork que eu fiz, tem um branch com uma solução.
Segue o link: https://github.com/thiagorock22/OSC-Magento-Brasil-6-Pro/tree/hotfix/timeout-buscacep

@hansbonini
Copy link

@thiagorock22 saca só esse pull que eu fiz: #268
tem um função pra verificar se o SOAP Client está ativo e outra pra verificar se o servidor possui acesso externo a url dos correios. Talvez fosse interessante acrescentar ao seu fork

@isanat
Copy link

isanat commented Jun 27, 2017

Uma pena, algum não pde assumir, fazendo um clone dste projeto?

@vissoci
Copy link

vissoci commented Jun 27, 2017

Tá bem abandonadão mesmo. Uma pena.

@romereza
Copy link

Aqui a solução do @Mateus007 funcionou beleza. \o/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants