Jump to content

Search the Community

Showing results for tags 'nfe'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 14 results

  1. Olá a todos, atualmente estou quebrando a cabeça com 3 campos da geração do XML de NFCE/NFE, são eles: <SignatureValue> , <DigestValue> e <X509Certificate>, como faço para gerar esses 3 campos? Procurei na internet, mas não achei nada que me ajude, gostaria de fazer 100% com php e de preferência manualmente (sem a utilização de classes prontas na qual é difícil de entender o código). Já tenho o certificado em PFX, e já gerei um certificado do tipo PEM. OBS 1: não precisam explicar ou mandar códigos de como inserir o conteúdo gerado nas tags <SignatureValue> e <X509Certificate>. OBS 2: O campo <DigestValue> notei em alguns fóruns que é um retorno da Sefaz, é correto isso? ,
  2. Gustavo2503

    fgets()

    fgets() não funciona em xml versão 4.00, só funciona na versão 3.10 $arquivo = $_FILES['arquivo']["tmp_name"]; $xml = fopen($arquivo, 'r'); while(!feof($xml)){ $linha = fgets($xml); if (!$linha){ $linha = "Erro"; } } echo $linha; Ele retorna "Erro" quando o xml está na versão 4.00. Como arruma isso?
  3. revendacampi

    Leitura de QR Code Cupom Fiscal

    Olá, estou desenvolvendo um projeto em PHP onde ao ler o QR code eu consigo pegar as informações tais como CNPJ e Valor, alguem sabe alguma forma que eu consiga fazer isso de onde posso puxar as informações do QR Code ou se o SEFAZ MT tem alguma api que consigo puxar atraves do qr code.
  4. Bom dia. Estou iniciando o desenvolvimento de um software para controle e emissão de NF-e para a SEFAZ. A princípio, estou começando pelo básico, onde busco consultar se o serviço selecionado está online, ou não. De maneira simplificada: Private Sub VerificaStatus() Dim servicoNFe As ServicosNFe Dim retornoStatus As RetornoNfeStatusServico Dim retornoBasico As retConsStatServ servicoNFe = New ServicosNFe(NFeConfig.CfgServico) retornoStatus = servicoNFe.NfeStatusServico() retornoBasico = retornoStatus.Retorno End Sub Ele gera o XML para consulta, valida, salva uma cópia no computador, e tudo.... Mas quando vou na função NfeStatusServico: Public Function NfeStatusServico() As RetornoNfeStatusServico Dim versaoServico = ServicoNFe.NfeStatusServico.VersaoServicoParaString(_cFgServico.VersaoNfeStatusServico) Dim ws = CriarServico(ServicoNFe.NfeStatusServico) If _cFgServico.VersaoNfeStatusServico <> NFe.Classes.Servicos.Tipos.VersaoServico.ve400 Then ws.nfeCabecMsg = New nfeCabecMsg ws.nfeCabecMsg.cUF = _cFgServico.cUF ws.nfeCabecMsg.versaoDados = versaoServico End If Dim pedStatus = New consStatServ With { .cUF = _cFgServico.cUF, .tpAmb = _cFgServico.tpAmb, .versao = versaoServico } Dim xmlStatus = pedStatus.ObterXmlString() Validador.Valida(ServicoNFe.NfeStatusServico, _cFgServico.VersaoNfeStatusServico, xmlStatus, cfgServico:=_cFgServico) Dim dadosStatus = New XmlDocument() dadosStatus.LoadXml(xmlStatus) SalvarArquivoXml(DateTime.Now.ParaDataHoraString() & "-ped-sta.xml", xmlStatus) Dim retorno As XmlNode Try retorno = ws.Execute(dadosStatus) '<<< Aqui ocorre um erro! Catch ex As WebException Throw FabricaComunicacaoException.ObterException(ServicoNFe.NfeStatusServico, ex) End Try Dim retornoXmlString = retorno.OuterXml Dim retConsStatServ = New retConsStatServ().CarregarDeXmlString(retornoXmlString) SalvarArquivoXml(DateTime.Now.ParaDataHoraString() & "-sta.xml", retornoXmlString) Return New RetornoNfeStatusServico(pedStatus.ObterXmlString(), retConsStatServ.ObterXmlString(), retornoXmlString, retConsStatServ) End Function A função ws.Execute(dadosStatus) gera um erro: Namespace NFe.Wsdl.Status <WebServiceBinding(Name:="NFeStatusServico4Service", Namespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4")> Public Class NfeStatusServico4 Inherits SoapHttpClientProtocol Implements INfeServico Public Sub New(ByVal url As String, ByVal certificado As X509Certificate, ByVal timeOut As Integer) SoapVersion = SoapProtocolVersion.Soap12 Me.Url = url Me.Timeout = timeOut ClientCertificates.Add(certificado) End Sub <Obsolete("Não utilizar na nfe 4.0")> Public Property nfeCabecMsg As nfeCabecMsg Private Property INfeServico_nfeCabecMsg As nfeCabecMsg Implements INfeServico.nfeCabecMsg Get Throw New NotImplementedException() End Get Set(value As nfeCabecMsg) Throw New NotImplementedException() End Set End Property <WebMethod(MessageName:="nfeStatusServicoNF"), SoapDocumentMethod("http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4/nfeStatusServicoNF", Use:=SoapBindingUse.Literal, ParameterStyle:=SoapParameterStyle.Bare)> Private Function Execute(<XmlElement(Namespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4")> nfeDadosMsg As XmlNode) As <XmlElement("nfeResultMsg", Namespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4")> XmlNode Implements INfeServico.Execute Dim results = Me.Invoke("nfeStatusServicoNF", New Object() {nfeDadosMsg}) '<<<< Aqui nesta linha ocorre o erro Return CType((results(0)), XmlNode) End Function End Class End Namespace A seguinte mensagem, é então exibida: "O método nfeStatusServicoNF do serviço da Web é inválido". <Imagem Anexo> Esse erro eu não estou conseguindo corrigir. Alguém poderia me ajudar com o mesmo?
  5. Olá, sou novo por aqui. Estou com problemas ao consumir o webservice da serfaz virtual do RS ConsultaCadastro: Recebo o erro: "Rejeicao: Usar somente o namespace padrao da NF-e". Acontece que estou usando o namespace padrao, e não consigo encontrar o motivo da rejeição.
  6. @gilsones

    Assinar XML com C/C++ (Certificado A3)

    Pessoal, é possível assinar digitalmente um documento XML com C/C++ ? Preciso contratar alguém para fazer um componente/modulo para assinar a NFe, que será acessado por outro sistema, mas queria saber se é possível. Tenho a opção do Java tbm, mas antes queria tentar um opção sem precisar instalar o Java no servidor. Obrigado.
  7. @gilsones

    PHP + Java (NF-e)

    Pessoal, preciso criar um sistema web (intranet) que faça todo o serviço de NFe, porém já estou ciente que com PHP sozinho é impossível. Queria saber se é possível criar um modulo/componente(?) em JAVA que ficará no servidor junto com o sistema, e fazer com que o PHP se comunique com ele para então, gerar o XML assinado. É possível essa comunicação? Caso não, alguém teria m alguma outra solução? Obrigado.
  8. Alguém tem e quer compartilhar ou conhece alguma rotina FREE para consulta automatizada à SEFAZ para busca de NFE??
  9. Pieper04

    Download de NFE usando CURL

    Estou montando um formulário que recebe os dados do site pegos com curl http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa Mas na hora de realizar a consulta só resulta em "A sessão expirou. Faça a consulta novamente." Estou mandando os seguintes dados: 'ctl00$ContentPlaceHolder1$txtChaveAcessoCompleta' 'ctl00$ContentPlaceHolder1$txtCaptcha' '__EVENTTARGET' '__EVENTARGUMENT' '__VIEWSTATE' '__VIEWSTATEGENERATOR' '__EVENTVALIDATION' 'ctl00$ContentPlaceHolder1$token' 'ctl00$ContentPlaceHolder1$captchaSom' 'hiddenInputToUpdateATBuffer_CommonToolkitScripts'
  10. CarlosGroff

    Enviando NFE para WebService

    Olá a todos! Tenho alguns clientes que usam meu sistema em VB.NET (outros em Access) para emissão de notas fiscais.Meu programa gera um txt que é importado no emissor da nota fiscal eletronica da Sefaz/ SP e lá é feita a validação, assinatura , transmissão da nota,etc. Como esse programa da Sefaz será desativado, vou ter que prover esses recursos no meu programa. Já consegui fazer a validação e assinatura ,porem não encontro quase nada na parte de enviar a nfe pelos webservices do Sefaz/SP. Gostaria de saber se alguem teria algum código que pudesse me ajudar nessa questão. Procurando por aqui achei um Post de dezembro/2013 do qual participa o sr Daniel Costa, no qual ele dá um exemplo dessa matéria, mas não sei se posso me basear nele ou se já estaria desatualizado. Desde já obrigado pela atenção.
  11. Arthur Samuel Hack

    Controle de Estoque sem NF-e

    Eu quero fazer um sistema para controle interno, a empresa é pequena, se eu fizer um sistema de controle de estoque, sem lançar NF-e pelo sistema, pois as notas já são feitas manualmente no portal da prefeitura, este sistema vai ser considerado "frio"? Pois a mercadoria em questão tem as notas, apenas não estão no sistema. Meu projeto engloba outras coisas, ordens de produção (com baixa automática no estoque), financeiro básico, controle de produção, pedidos etc. outra coisa, se usar o xml da nfe do fornecedor, quando chega mercadorias para importar direto os produtos no meu sistema, isso vai ser algo ilegal? Lembrando que quero fazer algo para controle interno administrativo, dentro dos tramites legais.
  12. Bom dia pessoal, Estou com uma dúvida, tenho um código que importa os dados de um arquivo xml de uma nota fiscal, porém não estou conseguindo importar a tag "dup" do arquivo xml quando existem mais de uma parcela a ser paga, quando importo para um datagrid eu consigo, porém preciso que estas informações sejam importadas para um textbox assim como as demais informações. Segue código: Public Sub PRealizaLeituraXML() OpenFileDialog1.ShowDialog() Dim diretorio = OpenFileDialog1.FileName Dim docXML As New XmlDocument docXML.Load(diretorio) Dim strRetorno As String = "", noPai As XmlElement, noFilho As XmlElement, noNeto As XmlElement, noBisneto As XmlElement, noTetra As XmlElement, nodelist As XmlNodeList = docXML.DocumentElement.ChildNodes If Len(docXML.OuterXml) > 0 Then For Each noPai In nodelist 'Le os nós principais da NFe If noPai.Name = "NFe" Then For Each noFilho In noPai 'Lê os Nós secundários If noFilho.Name = "infNFe" Then 'Se for o cabecalho da NFe For Each noNeto In noFilho 'Lê as Tags da NFe If noNeto.Name = "ide" Then 'Verifica a identificação da NFe For Each noBisneto In noNeto 'Verifica os valores da NFe txtData.Text = noNeto.ChildNodes.Item(7).InnerText txtDocumento.Text = noNeto.ChildNodes.Item(6).InnerText Next ElseIf noNeto.Name = "emit" Then 'Dados do Emitente da NFe For Each noBisneto In noNeto txtfornec.Text = noNeto.ChildNodes.Item(1).InnerText If noBisneto.Name = "enderEmit" Then 'Dados do Endereço do emitente For Each noTetra In noBisneto Next Else End If Next ElseIf noNeto.Name = "dest" Then 'Dados do Destinatário For Each noBisneto In noNeto If noBisneto.Name = "enderDest" Then 'Dados do Endereço do emitente For Each noTetra In noBisneto Next Else End If Next ElseIf noNeto.Name = "transp" Then 'Dados da Transportadora For Each noBisneto In noNeto If noBisneto.Name = "transporta" Then For Each noTetra In noBisneto Next End If If noBisneto.Name = "veicTransp" Then For Each noTetra In noBisneto Next End If If noBisneto.Name = "vol" Then For Each noTetra In noBisneto Next End If Next ElseIf noNeto.Name = "infAdic" Then 'Dados do Destinatário For Each noBisneto In noNeto If noBisneto.Name = "obsCont" Then 'Dados do Endereço do emitente For Each noTetra In noBisneto Next Else End If Next ElseIf noNeto.Name = "cobr" Then 'Dados do Destinatário For Each noBisneto In noNeto If noBisneto.Name = "fat" Then 'Dados da fatura For Each noTetra In noBisneto Next End If If noBisneto.Name = "dup" Then 'Dados da duplicata For Each noTetra In noBisneto Next End If Next ElseIf noNeto.Name = "total" Then For Each noBisneto In noNeto If noBisneto.Name = "ICMSTot" Then For Each noTetra In noBisneto txtValor.Text = noBisneto.ChildNodes.Item(17).InnerText Next End If Next ElseIf noNeto.Name = "entrega" Then 'Dados da Entrega For Each noBisneto In noNeto Next ElseIf noNeto.Name = "det" Then 'Verifica os detalhes dos produtos For Each noBisneto In noNeto If noBisneto.Name = "prod" Then 'Dados dos Produtos For Each noTetra In noBisneto Next End If If noBisneto.Name = "ICMS" Then 'Dados do ICMS For Each noTetra In noBisneto Next End If Next End If Next End If Next End If Next End If End Sub
  13. Stopassolli

    Logar no site receita PHP + cURL

    Olá a todos. Preciso importar dados da NFe/CTe com a chave + captcha. A idéia é igual a sites como www.danfeonline.com.br que ao informar a chave + captcha, faz login e pega-se o HTML, filtrando as informações necessárias. Segue abaixo alguns códigos que estou tentando fazer este processo, sem sucesso até o momento - estou parado no problema de "sessão expirou". A idéia geral do código abaixo foi extraída da função para importar dados do CNPJ posta aqui no iMaster. getcaptcha.php $pasta_cookies = 'cookies/'; define('COOKIELOCAL', str_replace('\\', '/', realpath('./')).'/'.$pasta_cookies); define('HTTPCOOKIELOCAL', 'http://'.$_SERVER['SERVER_NAME'].str_replace(pathinfo($_SERVER['SCRIPT_FILENAME'],PATHINFO_BASENAME),'',$_SERVER['SCRIPT_NAME']).$pasta_cookies); // inicia sessão @session_start(); $cookieFile_fopen = HTTPCOOKIELOCAL.session_id(); $cookieFile = COOKIELOCAL.session_id(); $url = 'http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8%3d'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);// salva os dados de sessão curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);// atualiza os dados de sessão se estiverem desatualizados curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0'); // não utilizar returntransfer , este script replica imagem captcha da receita sem necessidade de gravar a imagem $html = curl_exec($ch); curl_close($ch); // se tiver imagem , mostra if(!empty($html)){ $id_preciso_input = array( "__EVENTTARGET", "__EVENTARGUMENT", '__VIEWSTATE', '__VIEWSTATEGENERATOR', '__EVENTVALIDATION', 'ctl00_ContentPlaceHolder1_token', 'ctl00_ContentPlaceHolder1_captchaSom' ); $id_preciso_img = "ctl00_ContentPlaceHolder1_imgCaptcha"; $dom = new DOMDocument; @$dom->loadHTML($html); //PEGANDO VALORES DE INPUT foreach($dom->getElementsByTagName('input') as $link) { $id_input = $link->getAttribute('id'); if(in_array($id_input,$id_preciso_input)){ for($i=0;$i<count($id_preciso_input);$i++){ if($id_input==$id_preciso_input[$i]){ if($id_preciso_input[$i]=="ctl00_ContentPlaceHolder1_captchaSom"){$name_input = "captchaSom";} elseif($id_preciso_input[$i]=="ctl00_ContentPlaceHolder1_token"){$name_input = "token";} else{$name_input=$link->getAttribute('name');} $valor_input[$name_input] = $link->getAttribute('value'); } } } } if(!empty($valor_input)){$_SESSION["valor_input"] = $valor_input;} //PEGANDO A IMAGEM foreach($dom->getElementsByTagName('img') as $link) { $id_imagem = $link->getAttribute('id'); if($id_imagem==$id_preciso_img){ $valor = $link->getAttribute('src'); $texto = explode(",",$valor); $data = base64_decode($texto[1]); $img = imagecreatefromstring($data); header('Content-type: image/jpg'); imagejpeg($img); } } } processa.php <?php require('funcoes2.php'); $chave_acesso = $_POST['txtChaveAcessoCompleta']; $captcha = $_POST['txtCaptcha']; $dados_form = array( "__EVENTTARGET" => $_POST["__EVENTTARGET"], "__EVENTARGUMENT" => $_POST["__EVENTARGUMENT"], '__VIEWSTATE' => $_POST["__VIEWSTATE"], '__VIEWSTATEGENERATOR' => $_POST["__VIEWSTATEGENERATOR"], '__EVENTVALIDATION' => $_POST["__EVENTVALIDATION"], 'ctl00$ContentPlaceHolder1$token' => $_POST["token"], 'ctl00$ContentPlaceHolder1$captchaSom' => $_POST["captchaSom"], 'hiddenInputToUpdateATBuffer_CommonToolkitScripts' => $_POST["hiddenInputToUpdateATBuffer_CommonToolkitScripts"] ); // pega html resposta da receita $getHtmlCNPJ = getHtmlCNPJ($chave_acesso, $captcha, $dados_form); print_r($getHtmlCNPJ); ?> funcoes2.php <?php // define caminho absoluto e relativo para arquivo cookie $pasta_cookies = 'cookies/'; define('COOKIELOCAL', str_replace('\\', '/', realpath('./')).'/'.$pasta_cookies); define('HTTPCOOKIELOCAL', 'http://'.$_SERVER['SERVER_NAME'].str_replace(pathinfo($_SERVER['SCRIPT_FILENAME'],PATHINFO_BASENAME),'',$_SERVER['SCRIPT_NAME']).$pasta_cookies); // inicia sessão @session_start(); // função para pegar o que interessa function pega_o_que_interessa($inicio,$fim,$total){ $interesse = str_replace($inicio,'',str_replace(strstr(strstr($total,$inicio),$fim),'',strstr($total,$inicio))); return($interesse); } // função para pegar a resposta html da consulta pelo CPF na página da receita function getHtmlCNPJ($chave_acesso, $captcha, $dados_form){ $campos_post = $dados_form; $conteudo = ""; $cookieFile = COOKIELOCAL.session_id(); $cookieFile_fopen = HTTPCOOKIELOCAL.session_id(); if(!file_exists($cookieFile)){return false;} else{ // pega os dados de sessão gerados na visualização do captcha dentro do cookie $file = fopen($cookieFile_fopen, 'r'); while (!feof($file)){$conteudo .= fread($file, 1024);} fclose ($file); $explodir = explode(chr(9),$conteudo); $sessionName = trim($explodir[count($explodir)-2]); $sessionId = trim($explodir[count($explodir)-1]); $cookie = $sessionName.'='.$sessionId; } header("Set-Cookie: $sessionName=$sessionId; path=/; www.receita.fazenda.gov.br; httpOnly" ); if(!empty($_SESSION["valor_input"])){$valor_input = $_SESSION["valor_input"];} $campos_post = http_build_query($campos_post, NULL, '&'); $ch = curl_init('http://www.nfe.fazenda.gov.br/portal/consultaCompleta.aspx?tipoConteudo=XbSeqxE8pl8='); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_POST,count($campos_post)); curl_setopt($ch, CURLOPT_POSTFIELDS, $campos_post); // aqui estão os campos de formulário curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile); // dados do arquivo de cookie curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile); // dados do arquivo de cookie curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0'); curl_setopt($ch, CURLOPT_COOKIE, $cookie); // dados de sessão curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 3); curl_setopt($ch, CURLOPT_REFERER, "www.nfe.fazenda.gov.br"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $html = curl_exec($ch); curl_close($ch); return $html; } // Função para extrair o que interessa da HTML e colocar em array function parseHtmlCNPJ($html) { // respostas que interessam - aqui dentro colocar id dos campos para pegar os dados $campos = array(); // caracteres que devem ser eliminados da resposta $caract_especiais = array( chr(9), chr(10), chr(13), ' ', '</b>', ' ', '<b>MATRIZ<br>', '<b>FILIAL<br>' ); // prepara a resposta para extrair os dados $html = str_replace('<br><b>','<b>',str_replace($caract_especiais,'',strip_tags($html,'<b><br>'))); echo $html; $html3 = $html; // faz a extração for($i=0;$i<count($campos);$i++) { $html2 = strstr($html,utf8_decode($campos[$i])); $resultado[] = trim(pega_o_que_interessa(utf8_decode($campos[$i]).'<b>','<br>',$html2)); $html=$html2; } // extrai os CNAEs secundarios , quando forem mais de um if(strstr($resultado[5],'<b>')) { $cnae_secundarios = explode('<b>',$resultado[5]); $resultado[5] = $cnae_secundarios; unset($cnae_secundarios); } // devolve STATUS da consulta correto if(!$resultado[0]) { if(strstr($html3,utf8_decode('O número do CNPJ não é válido'))) {$resultado['status'] = 'CNPJ incorreto ou não existe';} else {$resultado['status'] = 'Imagem digitada incorretamente';} } else {$resultado['status'] = 'OK';} return $resultado; } ?> index.php <html> <head> <title>Pegar dados NFe na receita</title> </head> <body> <form method="post" action="processa.php"> <p><span class="titleCats">Chave de acesso</span> <br /> <input type="text" name="txtChaveAcessoCompleta" maxlength="44" required /> <b style="color: red">Chave</b> <br /> <img src="getcaptcha.php" border="0"> <br /> <input type="text" name="txtCaptcha" maxlength="6" required /> <b style="color: red">Código da imagem</b> <br /> </p> <p> <?php session_start(); //echo "<pre>";print_r($_SESSION["valor_input"]);echo "</pre>";die(); ?> <input name="ctl00$ContentPlaceHolder1$btnConsultar" type="submit" value="Continuar" /> <input name="__EVENTTARGET" type="hidden" value="<?php echo $_SESSION["valor_input"]["__EVENTTARGET"]; ?>"/> <input name="__EVENTARGUMENT" type="hidden" value="<?php echo $_SESSION["valor_input"]["__EVENTARGUMENT"]; ?>"/> <input name="__VIEWSTATE" type="hidden" value="<?php echo $_SESSION["valor_input"]["__VIEWSTATE"]; ?>"/> <input name="__VIEWSTATEGENERATOR" type="hidden" value="<?php echo $_SESSION["valor_input"]["__VIEWSTATEGENERATOR"]; ?>"/> <input name="__EVENTVALIDATION" type="hidden" value="<?php echo $_SESSION["valor_input"]["__EVENTVALIDATION"]; ?>"/> <input name="token" type="hidden" value="<?php echo $_SESSION["valor_input"]["token"]; ?>"/> <input name="captchaSom" type="hidden" value="<?php echo $_SESSION["valor_input"]["captchaSom"]; ?>"/> <input name="hiddenInputToUpdateATBuffer_CommonToolkitScripts" type="hidden" value=""/> </p> </form> </body> </html>
  14. Boa tarde pessoal, Estou criando um software em c# que deverá emitir nota fiscal eletrônica. Já estudei bastante sobre o tema, fiz diversos testes porém estou com o seguite problema: " Could not establish secure channel for SSL/TLS with authority 'hnfe.fazenda.mg.gov.br' ". Sei que a tendência é achar que eu ainda não estudei sobre o assunto, porque geralmente este é o primeiro erro que acontece quanto tentamos consumir o WebService por causa da falta de certificado. Infelizmente este não é o meu caso. Abaixo uma descrição dos passos que já fiz: 1- Consegui e instalei no meu computador um certificado digital válido, do tipo A1. 2- Gerei um XML válido para a NFE. Para validar o xml eu utilizei um site que avalia e te mostra campos faltantes ou com dados inválidos. O site é o do link a seguir: http://validadornfe.tecnospeed.com.br/ 3- Adicionei um Service Reference ao meu projeto com o link de homologação para geração de NFE do estado de Minas Gerais: https://hnfe.fazenda.mg.gov.br/nfe2/services/RecepcaoEvento?wsdl 4- Criei uma assinatura digital para meu xml e validei o documento com assinatura no site https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATBHE/Assinadoc/ValidadorAssinaturas.app/valida.aspx, após carregar o meu xml o site me dá a seguinte mensagem: A assinatura digital do documento fornecido é válida. 5- Criei um método para enviar a nfe, estou anexando abaixo o código bem comentado alguém pode me ajudar por favor a identificar onde eu estou errando? private void btEnviar_Click(object sender, EventArgs e) { //declara o objesto xml System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument(); //Classe usada para buscar o certificado digital var geraxml = new Teste.cGeraXML(); //Retorna o certificado após exibir uma tela para que o usuário selecione o mesmo X509Certificate2 certificado = geraxml.BuscaNome(""); //Carrega o xml xmldoc.Load("c:\\xml\\myXmFile_Assinado.xml"); //Busca o nó enviNFe var obj_nodeenviNFE = xmldoc.GetElementsByTagName("enviNFe"); //Cria o objeto do cabeçalho var obj_cabecalho = new ServiceHomologacao.nfeCabecMsg(); //Atribui os valores obj_cabecalho.cUF = "31"; obj_cabecalho.versaoDados = "2.00"; //Cria o objeto do webservice de envio var objService = new ServiceHomologacao.RecepcaoEventoSoap12Client(); //Atribui o certificado, não sei se este passo deve ser feito, já que //o documento está assinado. Desconfio sériamente que o erro esteja aqui, //porém não faço idéia de como atribuir este certificado ao objeto do service //reference objService.ClientCredentials.ClientCertificate.Certificate =certificado; //Envia os dados objService.nfeRecepcaoEvento(ref obj_cabecalho, obj_nodeenviNFE[0]); } Se alguém conhece de NFE, me ajudem por favor. Já estou meio que desesperado com isso. Obrigado!!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.