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

Problema com ambiente de produção #35

Closed
lkfischer opened this issue Feb 18, 2016 · 59 comments
Closed

Problema com ambiente de produção #35

lkfischer opened this issue Feb 18, 2016 · 59 comments

Comments

@lkfischer
Copy link

Olá pessoal, estou fazendo a geração de etiqueta em um sistema de um cliente meu, peguei o exemplo do solicitar etiqueta com o ambiente de homologação, ele retorna perfeitamente os dados, porém quando colocou os dados masters do contrato do cliente, ele me retorna que esta com erro de autenticação, imaginei que o problema existia por que estava tentando achar os dados dela na base de homologação dos correios, porém quando troco para o link de produção dos correios, a página fica carregando eternamente, não sei se eu estou cometendo algum erro na hora de alterar para o ambiente de produção, onde seria exatamente?

Agraçado, desde já qualquer ajuda.

Att,

@jorom
Copy link

jorom commented Mar 3, 2016

Estou com o mesmo problema, Já conseguiste resolver? Alem disso parece que a conexão trava não obtenho resposta.

Obrigado
Zeca

@lkfischer
Copy link
Author

Jorom, resolvi da seguinte maneira, o Web Service dos correios tem algum problema com a versão 5.3 do PHP então para resolver esse problema basta fazer o download do xml deles e utilizar ele no seu servidor para fazer conexão com a maquina deles.

Link do arquivo de produção para download:
https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl

OBS: Ele não irá funcionar em um servidor local, como Wamp, Xammp entre outros... Então teste em um servidor na Web mesmo.

Qualquer dúvida em como implementar, fala comigo pois não sei se fui muito claro.

Att,

@jorom
Copy link

jorom commented Mar 3, 2016

Obrigado pela dica, mas sou leigo neste tipo de comunicação onde coloco o XML para a conexão?
Coloco no meu servidor e busco de ao inves deste link no WSDL_ATENDE_CLIENTE_PRODUCTION?

Abraços,

@lkfischer
Copy link
Author

Você vai alterar o link do arquivo Config o de produção e colocar o destino de onde esta o arquivo que você baixou.

Por exemplo: "const WSDL_ATENDE_CLIENTE_PRODUCTION = 'http://suaurl/AtendeCliente.xml?wsdl';"

Entendeu?

@jorom
Copy link

jorom commented Mar 3, 2016

Sim vou testar

@jorom
Copy link

jorom commented Mar 3, 2016

Funcionou..muito obrigado. Por um acaso você fez algo para Autorização de Postagem? Percebi que nesta biblioteca não tem isso.

VAleu

@thaz-yami
Copy link

@pvpzaum Obrigado pela dica, você é foda, te devo uma breja brother!

@stavarengo
Copy link
Owner

Posso fechar esse bug galera?

@lkfischer
Copy link
Author

@stavarengo ah não ser que o pessoal ainda tenha dúvidas, pode fechar.

@JessileyOliveira
Copy link
Contributor

esse bug acontece com muita gente, seria interessante colocar um aviso em algum lugar sobre isso.

@IuryChristmas
Copy link

Uma outra opção é setar a url direto na var $wsdl lá em SoapClientFactory no método getSoapClient()

@stavarengo
Copy link
Owner

@xjaco222x Você pode fazer esse aviso pra gente?
Pode ser uma sessão no readme.md explicando sobre o problema e como resolver.
Você consegue?

@JessileyOliveira
Copy link
Contributor

@stavarengo fiz a solicitação de alteração, não tenho tanto conhecimento no gitHub mas tentei me basear no restante do README.MD

@stavarengo
Copy link
Owner

Show. Aguardo o seu PR entao.

@stavarengo
Copy link
Owner

@xjaco222x
No readme.md você disse "OBS: Não irá funcionar em um servidor local, como Wamp, Xammp entre outros.".

Porque não funciona? Sabe dizer?

@JessileyOliveira
Copy link
Contributor

@stavarengo fiz os testes e não consegui fazer funcionar mas não sei pq, vi que o @pvpzaum informou que não funciona, então intendi que não era um erro meu.

@lkfischer
Copy link
Author

@xjaco222x e @stavarengo quando eu chegar em casa eu falo por que nao funciona, mas basicamente é por causa da versão do php. Quando chegar eu explico melhor .

@stavarengo
Copy link
Owner

Aguardo @pvpzaum.
Valeu!

@IuryChristmas
Copy link

Vi que informaram que este problema é devido a versão do php, mas utilizo o php 5.5 e este problema de autenticação continua, vou tentar fazer o que o @pvpzaum informou e ver se funciona

@lkfischer
Copy link
Author

@IuryChristmas , entendo, você esta imaginando que o problema esta com a versão antiga, mas pelo contrario, ele só funciona perfeitamente até a versão PHP 5.2, a partir da versão 5.3+ é que la para de funcionar. Eu estou tentando arrumar um tempo para que possa vir aqui mostrar os resultados dos meus testes, mas estou pegado no meu trabalho.

@IuryChristmas
Copy link

Ah, entendi... É que no readme deu a entender que o problema estava com as versões mais antigas, mas não entendi muito bem a solução... Fiz o download do wsdl, mas estou em dúvida onde salva-lo... em um servidor web ou no meu local, a dúvida é porque foi informado que em um servidor local como wampp, xampp... não funcionaria, no meu caso estou utilizando lampp e quando testei colando no local, acabou por não funcionar.

@JessileyOliveira
Copy link
Contributor

@IuryChristmas teria que salvar o arquivo no servidor, e no lugar do link colocar o caminho do arquivo, nos meus testes em servidor local não consegui fazer funcionar mas também não insisti muito os testes.

@IuryChristmas
Copy link

Pois é @xjaco222x , também estou tentando... salvei no local, mas ainda não obtive êxito... mas vou continuar testando e ver se consigo

@lkfischer
Copy link
Author

@xjaco222x e @IuryChristmas , poderia me mostrar como esta sua linha de código onde você tenta trazer o arquivo salvo? E o arquivo deve estar salvo em seu servidor na nuvem, no servidor local ele não irá funcionar.

Att,

@IuryChristmas
Copy link

@pvpzaum, era essa minha dúvida... vou tentar subir ele então pra nuvem e testar novamente... até então estava local... A linha de código está assim:
const WSDL_ATENDE_CLIENTE_PRODUCTION = '127.0.0.1/AtendeCliente.xml?wsdl';
está correto dessa forma?

@lkfischer
Copy link
Author

@IuryChristmas exato.

@stavarengo
Copy link
Owner

stavarengo commented Aug 23, 2016

Pessoal, lembrando a todos que não é necessário mudar o valor da constante diretamente na classe.
O caminho do WSDL é configurável como explicado aqui: https://github.com/stavarengo/php-sigep#example-change-wsdl

@pvpzaum Estamos todos ansiosos pela solução :)

@itamogi
Copy link

itamogi commented Aug 26, 2016

Pessoa, estava também com o problema e voltei a versão do PHP para a 5.2.9 e funcionou perfeitamente. O duro foi ter que voltar e perder as atualizações.

@JessileyOliveira
Copy link
Contributor

JessileyOliveira commented Sep 1, 2016

@JessileyOliveira
Copy link
Contributor

JessileyOliveira commented Sep 1, 2016

ou se vc baixou o wsdl em formato wsdl é só colocar http://www.seusite.com.br/clientes/correios/SIGEPWEB/src/PhpSigep/correios.wsdl

@itamogi
Copy link

itamogi commented Sep 1, 2016

Ou fazer downgrade para o PHP 5.2*

On Thu, Sep 1, 2016 at 5:24 PM, Jessiley Willian Valerio de Oliveira <
notifications@github.com> wrote:

ou se vc baixou o wsdl em formato sdl é só colocar
http://www.seusite.com.br/clientes/correios/SIGEPWEB/
src/PhpSigep/correios.wsdl


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

@IuryChristmas
Copy link

Vou dizer como salvei, abri o wsdl dos correios, cliquei em ver código fonte da página e depois cliquei em salvar página como, mudei o nome do arquivo e coloquei o AtendeCliente.xml?wsdl

@xjaco222x eu coloquei exatamente assim, coloquei o caminho completo do site, www.site.com.br/correios.xml?wsdl

@itamogi vou deixar essa opção como último recurso, depois que você fez o downgrade, funcionou tudo normal?

@JessileyOliveira
Copy link
Contributor

@IuryChristmas não tem que salvar como xml?wsdl vc salva ou com a extensão xml ou com a extensão wsdl.

@IuryChristmas
Copy link

@xjaco222x entendi, eu fiz de maneira errada então... vou tentar novamente e salvr como xml e testar mais uma vez e digo aqui se deu certo ou não

@itamogi
Copy link

itamogi commented Sep 2, 2016

@luryChristmas https://github.com/IuryChristmas instalei em um outro
servidor o php 5.2 e estou usando nele obtendo os resultados via json, aí
não mexi no site que estava minha aplicação com o 5.6

Foi tudo normal ...

Em quinta-feira, 1 de setembro de 2016, Jessiley Willian Valerio de
Oliveira notifications@github.com escreveu:

@stavarengo https://github.com/stavarengo creio que vc tenha colocado
errado no readme.md sobre onde alterar.


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

@mozgbrasil
Copy link
Contributor

Ola

Bom dia

@stavarengo

Aqui fiz o procedimento de comentar o parâmetro "stream_context" onde vemos que funcionou com dados de ambiente de produção em um servidor local

captura de tela de 2017-03-29 09-50-20
captura de tela de 2017-03-29 09-50-24
captura de tela de 2017-03-29 09-53-14
captura de tela de 2017-03-29 09-53-22
captura de tela de 2017-03-29 09-53-29

@stavarengo
Copy link
Owner

@mozgbrasil Olhando o histórico de alterações neste arquivo eu vi o seguinte.

  1. Eu adicionei stream_context neste commit 1ce44a0 para resolver o bug Impossibilidade de conectar ao ambiente de homologação. #21
  2. Depois disto o @rafaelsiqueira fez o PR Adequação ao modelo padrão sugerido pelos correios #28 que removia totalmente stream_context. Provavelmente pq ele deve ter chego a mesma conclusão que vc.
  3. Por último, @gustvao enviou o PR fix for OpenSSL > 1.0 #38 que desfez o trabalho de @rafaelsiqueira. Neste caso o @gustvao voltou a opção stream_context, porem com configurações diferentes das que eu tinha adicionado lá no passo 1.

Para mim, parece que remover stream_context não é a solução correta pois vai quebrar outros pontos e outra pessoa vai acabar adicionado novamente.

Eu sugiro que seja mesclado as duas configurações (feitas no passo 1 e no passo 2) para ver o resultado. Para isso é só mudar o array $opts declarado na linha 36 para:

$opts = array(
    'ssl' => array(
        'ciphers'           => 'RC4-SHA', 
        'verify_peer'       => false, 
        'verify_peer_name'  => false
        'allow_self_signed' => true,
    )
);

Fora isso não sei mais o que fazer. Se isso não resolver, então alguém (sugiro @mozgbrasil) terá que dar uma Googada para descobrir a verdadeira solução deste problema.

Vocês têm mais alguma ideia?

Obs: Vale a apena ressaltar o link apontado pelo @gustvao em seu PR #38. Segue o link http://stackoverflow.com/questions/34609448/soap-error-parsing-wsdl-couldnt-load-from-xampp

@mozgbrasil
Copy link
Contributor

Bom dia

@stavarengo

Veja que fiz o teste que você sugeriu mas não funcionou

Veja que funcionou usando o seu commit 1ce44a0 para resolver o bug #21

captura de tela de 2017-03-29 10-49-18
captura de tela de 2017-03-29 10-49-31
captura de tela de 2017-03-29 10-50-02
captura de tela de 2017-03-29 10-50-11

@mozgbrasil
Copy link
Contributor

Bom dia

Aparentemente oque está gerando o erro é o parâmetro

'ciphers'           =>'RC4-SHA',

@stavarengo
Copy link
Owner

stavarengo commented Mar 29, 2017

Bom, acho bom a gente esperar uma explicação do @gustvao antes de remover. Ele deve ter tido um motivo para isso.

Alem disto tbm seria interessante saber pq @rafaelsiqueira escolheu remover o stream_context quando ele ainda nem tinha a opção ciphers configurada.

@gustvao
Copy link
Contributor

gustvao commented Mar 29, 2017

fala galera, eu só implementei uma solução do @vitalibr que aparentemente tinha resolvido um problema que eu estava tendo e ainda nao tinha sido PR

#23

@stavarengo
Copy link
Owner

@mozgbrasil agora em com vc. O que vc sugere?

@mozgbrasil
Copy link
Contributor

Bom dia

@stavarengo

Eu nunca tive a necessidade do uso do parâmetro ciphers no SOAP

Acho que poderia ser feito essa tentativa de comentar o parâmetro ciphers e colocar um comentário com a URL dessa issue

Caso alguém mencione alguma divergência em algum ambiente podíamos condicionar o uso desse parâmetro

@stavarengo
Copy link
Owner

stavarengo commented Mar 29, 2017

Por mim ok

@mozgbrasil
Copy link
Contributor

Boa Tarde

@stavarengo

Você pode estar aplicando essa atualização ao projeto ou devo enviar como Pull Requests ?

@stavarengo
Copy link
Owner

Claro @mozgbrasil. Ninquem melhor do que vc para corrigir aí.

mozgbrasil added a commit to mozgbrasil/php-sigep that referenced this issue Mar 29, 2017
comentado o parâmetro ciphers devido ao erro que ocorre quando usado dados de ambiente de produção em um servidor local conforme issue stavarengo#35 (comment)
@mozgbrasil
Copy link
Contributor

Ola

Bom dia

@stavarengo

Enviei os PR

Fico no aguardo da migração

Muito obrigado

@brunorthomaz
Copy link
Contributor

brunorthomaz commented May 19, 2017

Boa tarde,

Estou com problemas para carregar o WSDL em produção (do rastreio).
Li os comentários aqui e comentei o ciphers como está feito no método getSoapClient

https://github.com/stavarengo/php-sigep/blob/master/src/PhpSigep/Services/Real/SoapClientFactory.php#L98

Será que faria sentido comentar também ?

@mozgbrasil @stavarengo

Obrigado.

@stavarengo
Copy link
Owner

@brunorthomaz que problema vc está tendo?

@brunorthomaz
Copy link
Contributor

brunorthomaz commented May 22, 2017

Boa tarde,

Então, ao tentar rastrear em produção ocorre o seguinte erro:

PHP Warning: Uncaught ErrorException: SoapClient::SoapClient(): Failed to enable crypto in /var/www/html/.../vendor/stavarengo/php-sigep/src/PhpSigep/Services/Real/SoapClientFactory.php:115

@stavarengo

@stavarengo
Copy link
Owner

stavarengo commented Jun 1, 2017

@brunorthomaz, dei uma pesquisada no Google e achei isto: https://stackoverflow.com/questions/14078182/openssl-file-get-contents-failed-to-enable-crypto

Veja se é o seu problema.


Editado:
Acabei de ver este PR. Acho que ele resolve o seu problema.
#155

@brunorthomaz
Copy link
Contributor

brunorthomaz commented Jun 1, 2017

Bom dia,

Sim, este PR resolve o problema.

@stavarengo

Valeu.

@criacaosites
Copy link

Pessoal boa noite estou com php 5.6 e nao consigo fazer rodar, segui o procedimento mas nao funcionou

@rpais1979
Copy link

rpais1979 commented Dec 29, 2017

@stavarengo, sou novo e gostaria de uma ajuda para implantar esse projeto dos correios, será que alguém pode me ajudar? Quero aprender, caso tenha algum custo para me ensinar, irei avaliar a proposta. Lembrando que quero aprender.
Desde já agradeço a todos
Rodrigo Pais

@renanconstancio
Copy link

renanconstancio commented Jul 3, 2018

Olá galera, estou implementando essa classe para geração de etiquetas, e vejo que há funcionamento correto dela, pois em modo de produção não gera etiquetas, somente em modo de homologação.
Alguém pode dar um help!!!.
Detalhe, os arquivos estão online, pois vejo que alguns post estão dizendo que não funciona local, porém as configurações citadas acima já foram realizadas. Sendo assim, em local funciona somente em homologação.

Att:

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