WebserviceCaixa icon indicating copy to clipboard operation
WebserviceCaixa copied to clipboard

Sem suporte a PHP 7.2 e sugestões

Open trialforce opened this issue 4 years ago • 3 comments

Bom dia amigo, tudo bem.

Primeiro queria agradecer pelo compartilhamento do código funcional.

Tenho algumas observações para fazer.

  1. Na sua classe WebserviceCaixa você usando var. Onde o certo seria usar public. Var vai parar de funcionar no futuro do php.
  2. O arquivo XmlDomConstruct está usando short tags <?. O que não é padrão do php e gera problemas na maioria de instalações.
  3. NuSoap usando construtor com mesmo nome. O que já é deprecated a muito tempo no PHP Basicamente tive que refatorar o NuSoap inteiro pra funcionar com php 7.2. Seria legal deixar isso atualizado ou mesmo trocar pra lib de soap nativa do PHP.
  4. Faltou algum controle de erro básico: Limpar . e / dos CPF/CNPJ. Informar que o nosso_numero precisa vir sem o digito verificador. Campo cep também precisa ser limpa de traço.
  5. Quanto aos erro do webservice: A mensagem: (BK76) ERRO NA FORMATACAO DA MENSAGEM é muito genérica. Seria muito interessante a biblioteca controlar o que vem no campo EXCECAO.
  6. A nível de sugestão: também seria legal a biblioteca ter um campo CPF_CNPJ, onde você passaria qualquer campo dado e ela iria detectar e resolver o xml certo pra requisição, no caso arrumando o nome/razao social.

Espero ter ajudado.

trialforce avatar Apr 19 '20 14:04 trialforce

@trialforce bom dia! você poderia compartilhar os códigos que teve que refatorar. E no caso do erro Fatal error: Uncaught Error: Class 'XmlDomConstruct' not found como você resolveu? obrigado

wilmaxmcruz avatar May 08 '20 14:05 wilmaxmcruz

Olá @wilmaxmcruz. Conforme minha observação 2. O código da classe XmlDomConstruct está com short open tags <?. As versões mais novas do PHP não suportam isso por padrão. Então se você trocar <? por <?php o sistema passa a reconhecer este arquivo como php.

Primeira linha desse arquivo. https://github.com/vmassuchetto/WebserviceCaixa/blob/master/lib/XmlDomConstruct.php

Fora isso tive que trocar os método de construção de classe para __construct em todas as classes do nusoap.

trialforce avatar May 08 '20 17:05 trialforce

Boa @trialforce fiz as alterações aqui e funcionou. Valeu!

wilmaxmcruz avatar May 09 '20 14:05 wilmaxmcruz