WebserviceCaixa
WebserviceCaixa copied to clipboard
Sem suporte a PHP 7.2 e sugestões
Bom dia amigo, tudo bem.
Primeiro queria agradecer pelo compartilhamento do código funcional.
Tenho algumas observações para fazer.
- Na sua classe WebserviceCaixa você usando var. Onde o certo seria usar public. Var vai parar de funcionar no futuro do php.
- O arquivo XmlDomConstruct está usando short tags <?. O que não é padrão do php e gera problemas na maioria de instalações.
- 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.
- 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.
- 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.
- 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 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
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.
Boa @trialforce fiz as alterações aqui e funcionou. Valeu!