Ir para conteúdo
Fórum Script Brasil
  • 0

Como criar uma aplicação NFC-e em PHP/SOAP?


Paulo Sérgio Duff

Pergunta

Peguei o seguinte projeto de um cliente: Uma aplicação rodando em PHP que trabalhe com NFC-e, já enviando o XML para o SEFAZ, que retorne Danfe e QR code. Isso para cliente do Rio de Janeiro. Eis o que já fiz para agilizar o processo do projeto:

  • Baixei o projeto NFePHP localizado no github https://github.com/nfephp-org/nfephp que ao mínimo, tem a tarefa de enfiar a NF-e, e já demonstra um princípio para trabalhar com SOAP para NFC-e também.

  • Utilizei o PDV Stok, que utiliza a biblioteca GTK para softwares em PHP.

  • Estudei sobre Webservices SOAP, além de fazer pequenos testes. Um deles localizado no artigo http://www.thiagovespa.com.br/blog/2012/05/31/chamando-um-webservice-soap-com-php/

  • Reforcei estudos sobre programação orientada a objetos.

  • Estudei bastante sobre NFC-e.

  • Consultei bastante material oficiais do site do SEFAZ para se informar. Inclusive nota técnica, que a mais atual é a de 2013.005_v1.2 aonde inclusive tem os endereços de webservices do SEFAZ.

 

Porém, encontro os seguintes problemas para implementar o projeto:

  • As mensagens ao executar aplicações do NFePHP não parecem claras, além de algumas mensagens serem de erros que desconheço no próprio PHP.

  • O arquivo testaNFeEnvio.php da pasta exemplos/NFe/ retorna as seguinte mensagem: “houve erro !! 403Forbidden não houve retorno Soap verifique a mensagem de erro e o debug!!”  

  • No corpo do XML aparece a seguinte mensagem: “<h2>403 - Forbidden: Access is denied.</h2>
     <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>
    </fieldset></div>”.

  • O mais importante dos erros acima, é saber se o PHP está retornando o que deve, ou a aplicação não está acessando o webservice do SEFAZ, porque sei que vou precisar do certificado do SEFAZ para envio completo. Só quero saber se aplicação faz o que promete!

  • O erro mais misterioso é do arquivo montaXmlWebServicesNFe.php da pasta exemplos/NFe/ que diz: “This page contains the following errors: error on line 2 at column 1: Extra content at the end of the document Below is a rendering of the page up to the first error.”

  • Certamente o loop abstrato é o maior vilão para pesquisar sobre problemas práticos (que só é problema neste caso). Muitas vezes precisamos ver a sintaxe funcionando para aprender um princípio, o código propriamente dito. Você pesquisa como solucionar determinado problema, e só acha tutoriais envolvendo a história da ferramenta, seu criador, fluxogramas, terminologia, mas raramente a solução em produção. Quando documentam a classe, não falam do método. Quando falam do método, pouco apontam em que direção/arquivo/pasta estão os atributos que busco (Search in files para que te quero). Ok, com a arquitetura MVC isso é amenizado. E quando buscamos pelos pormenores do problema, a mesma cadeia de acontecimentos citada acima se inicia novamente. Como por exemplo eu consigo acessar informações do WSDL de determinada página? basta colocar isso após a url do webservice? Eu não sei! Não consigo achar material sobre isso. Garanto que se eu pesquisar, vou encontrar alguma palestra falando de camadas de rede ou Tim Berners-Lee.

  • Maior parte da pesquisa retornar soluções pagas.

 

Caso não possa responder nenhum dos problemas acima, gostaria que me indicasse materiais pesados sobre SOAP e OOP. Algo didático mesmo, sem bla bla blá se possível. Mesmo ao postar isso, continuarei pesquisando!

 
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...