-
Notifications
You must be signed in to change notification settings - Fork 6
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
Soap request retornando java.lang.NullPointerException #8
Comments
Esse é o xml sendo gerado pelo soap no módulo:
que retorna o seguinte response:
A estrutura do xml que a TI da TNT me passou possui este formato:
Com este xml retorna a resposta esperada. A diferença que algumas tags do xml tem algum tipo de prefixo diferente. Vou estudar como aplicar isso lá no módulo. |
Boa tarde @wdarking você conseguiu alterar? estou com o mesmo problema |
Consegui parcialmente, mas ainda não consegui uma solução decente pra fazer um pull request aqui. Eu entrei em contato com a TI da TNT e eles realmente modificaram algumas coisas. Segue trecho do email:
Ou seja, alguma modificação deles quebrou alguns clients, principalmente os em PHP pelo que eu entendi. No email ele da algumas informações de como outros clientes corrigiram o suas integrações. Dentre as soluções, uma delas seria setar os atributos da classe TntMercurio_CotacaoWebService ( Ex.
Ficaria assim:
Eu fiz isso em todos os atributos da classe, e o reponse voltou a funcionar. Só que isso quebra outras partes do módulo, que estão esperando os atributos em um formato, mas agora recebem uma instância de SoapVar. Imagino que seja algo haver com o |
@wdarking precisa de ajuda? tem um cliente que sempre usou, e esta sem vendas por conta disso kkkkkk |
Sim, preciso de ajuda! Aqui está a classe adaptada: https://gist.github.com/wdarking/ddd1da93bcfe1760ae09d2e3efd4649c Mas isso não resolve, pq quebra outras partes do módulo. Mas se vc colocar essa classe lá, já vai perceber que o response em Se vc quiser ir testando, coloca um Mage::log no método
Fui debugando e percebi que ele quebra em Eu nunca usei soap antes, então minha abordagem do problema é mais lenta, preciso ficar procurando referências de como implementar soap com php. @rafaelpatro , quando vc puder da um help pra gente tbm! |
Eu entrei em contato com o cara, ele me passou toda documentação deles, e o que os cliente fizeram para fazer voltar a funcionar, mas nenhum era magento, vou pegar o que vc ja fez, e vou testar aqui também! @wdarking |
Boa tarde pessoal |
Beleza @rafaelpatro no aguardo entao!! |
Segue patch com a correção (só baixar e executar). Fico aguardando o feedback de alguém, para mesclar ao projeto. Exemplo de instalação: cd <diretório raiz magento>
wget https://patch-diff.githubusercontent.com/raw/rafaelpatro/Quack_TntBrasil/pull/9.diff
git apply 9.diff --check Se aparecer algum erro, postar aqui. git apply 9.diff |
@rafaelpatro vc vai atualizar o repositorio também? |
Aqui deu certo! Só sugeri uma correção la no pull request pra corrigir o nome do método, que não estava aparecendo. @rafaelpatro , você foi avisado desta mudança? Se sim, existe um canal que avise este tipo de mudança? |
@wdarking, tb fui pego de surpresa. Não tenho conhecimento de algum canal que forneça atualizações sobre o webservice. |
Bom dia @rafaelpatro @wdarking deu certo pra vocês? quando eu calculo cep, da erro 500 aqui :( |
Aqui deu certo, já estou usando em produção. Vc usa apache2? Reproduz o erro e dá uma verificada nas ultimas linhas do arquivo |
@wdarking uso nginx, poderia me enviar a pasta do seu? eu baixei direto o zip e joguei na loja, ai começou dar erro 500, vou olhar no log para ver |
@wdarking @rafaelpatro pelo GIT tenho esses erros error: patch failed: app/code/community/Quack/TntBrasil/Model/Abstract.php:307 |
Eu não instalei via patch diff, eu clonei o branch Aqui ta o link do zip do branch onde a correção está aplicada: https://github.com/rafaelpatro/Quack_TntBrasil/archive/add-params-namespace.zip |
é eu apliquei esse branch também, mas não deu certo :/ e no log nao tem nada, nem do magento, vai ser difícil achar o problema.... |
@wdarking sera que preciso reinstalar o modulo? |
Seria bom ver o motivo desse erro 500 pra garantir se tem haver com o módulo ou não. Mas sim, recomendo reinstalar o módulo. O que eu fiz: eu baixei o zip, unzipei e copiei por cima todos os arquivos, substituindo os anteriores pelos novos arquivos. Parece mais complicado que isso, mas um |
sim, fiz isso também, no log do magento nao tem nada, do servidor também não :( |
Puts, o problema é que erro 500 não diz nada. Se não encontrar nada, sugiro remover completamente o módulo. Só pra ter certeza de que não é algo externo ao módulo. |
achei! |
@yurirn, qual sua versão do PHP? Se não me engano, até a versão 5.3, a palavra NAMESPACE é reservada. E eu usei como constante. Vou encaminhar uma correção para isso na PR. Só não consigo ver isso hoje. Por enquanto vc pode editar o arquivo que está apresentando o erro, e alterar o nome dessa constante. Ou então atualizar seu PHP. |
@rafaelpatro PHP Version 5.6.40 |
Este seria o arquivo editado, conforme o @rafaelpatro falou https://gist.github.com/wdarking/55d155e61a224c4848f8bd847481db94 recomendo alterar o conteúdo do arquivo No meu caso eu já uso o PHP 7.2 Atualizar o PHP é um pouco mais trabalhoso, dependendo da sua versão do magento. Mas é recomendável. |
@wdarking @rafaelpatro fiz isso pessoal, deu certo aqui, obrigado pelo apoio! |
Bom dia @rafaelpatro , o módulo estava funcionando, mas ultimamente percebi que ele não estava aparecendo mais nas opções de frete, fui no log e verifiquei este erro de java ai,
java.lang.NullPointerException
. Está ocorrendo na classeQuack_TntBrasil_Model_Rate
, no métodosendRequest
.Acredito ser algo relacionado ao xml sendo enviado via soap ou algum atributo meu que esteja faltando. Tentei um request via postman com um xml de exemplo aqui e deu certo, queria ver exatamente como este xml está sendo enviado pro webservice.
Estou tentando debugar aqui, mas não estou conseguindo retornar o xml aqui.
Estou fazendo assim:
Aprecio se tiver alguma dica ou sugestão. Vou continuar tentando.
The text was updated successfully, but these errors were encountered: