FONTE NFE VB.NET

ANDPAG 07/02/2011 15:28:54
#364593
Pessoal alguem sabe como eu detecto o certificado A3?? Desenvolvemos uma aplicação para servidor NFe, funciona certinho pelo certificado A1, mas agora que preciso detectar o certificado A3 (cartão) não vai de jeito nenhum ja tentamos de tudo,,,, alguem ai sabe o porque disso? Como faço pra poder detectar o certificado tipo A3 para usar o webservice??

abs a todos...
DANIELCPAETE 07/02/2011 15:49:36
#364597
Foi mal Barros é que estou usando o celular para postar no fórum e ele possui um corretor que nem sempre acerta as palavras hehehe tipo interface chinelo de dedo celular mas, um dia me acustumo com esse mini teclado


Abração
MFLAVIO 07/02/2011 15:54:57
#364598
Galera estou conseguindo emitir as notas
cancelar e imprimir o Danfe

mais ainda não consigo atualizar o XML com o retorno do Sefaz

qualquer poderia me dar um helpe neste sendito

pois o XML que estou enviando os clientes disem que o xml não e um xml de distribuição
NETODV1 07/02/2011 16:38:56
#364604
Olá BARROS ...
Olá PCROCKFELLER ...

A Inutilização esta OK !
Meu agradecimento ao BARROS pela presteza e qualidade do algoritmo.

PCROCKFELLER, conforme combinado quem terminasse primeiro postaria.
Dei uma [Ô]ajustada[Ô] para adequar aos testes.
Ficou assim:


Dim sMsgStatus As String = String.Empty

[ô] ------------------------------------------- Captura o Certificado ------------------------------------------------------
Dim CERT As X509Certificate2
CERT = SelecionarCertificado(mdlCertificado.gsNumSerie)

[ô] ------------------------------------------- Parâmetros do Web Service ------------------------------------------------------
Dim cab As New Inutilizacao2.nfeCabecMsg
Dim wsMsg As Inutilizacao2.NfeInutilizacao2

cab.cUF = plUrlAcesso.CodigoUF
cab.versaoDados = [Ô]2.00[Ô]

[ô]v wsMsg.Url = plUrlAcesso.UrlNfeInutilizacao [ô] [Ô]https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao2.asmx[Ô]
wsMsg = New Inutilizacao2.NfeInutilizacao2(plUrlAcesso.UrlNfeInutilizacao)
wsMsg.nfeCabecMsgValue = cab
wsMsg.Timeout = 100000
wsMsg.ClientCertificates.Add(CERT)
wsMsg.SoapVersion = Web.Services.Protocols.SoapProtocolVersion.Soap12

[ô] ------------------------------------------- Cria o XML de Inutilizacao ------------------------------------------------------
Dim strID As String = String.Empty
strID = (plUrlAcesso.CodigoUF & ano & CNPJ & [Ô]55001[Ô] & ([Ô]000000[Ô] & nNFIni) & ([Ô]000000[Ô] & nNFFin))
Dim strXML As String = String.Empty
strXML += [Ô]<inutNFe xmlns=[ô]http://www.portalfiscal.inf.br/nfe[ô] versao=[ô]2.00[ô]>[Ô]
strXML += [Ô]<infInut Id =[ô]ID[Ô] & strID & [Ô][ô]>[Ô]
strXML += [Ô]<tpAmb>[Ô] & [Ô]2[Ô] & [Ô]</tpAmb>[Ô]
strXML += [Ô]<xServ>INUTILIZAR</xServ>[Ô]
strXML += [Ô]<cUF>[Ô] & plUrlAcesso.CodigoUF & [Ô]</cUF>[Ô]
strXML += [Ô]<ano>[Ô] & ano & [Ô]</ano>[Ô]
strXML += [Ô]<CNPJ>[Ô] & CNPJ & [Ô]</CNPJ>[Ô]
strXML += [Ô]<mod>55</mod>[Ô]
strXML += [Ô]<serie>1</serie>[Ô]
strXML += [Ô]<nNFIni>[Ô] & nNFIni & [Ô]</nNFIni>[Ô]
strXML += [Ô]<nNFFin>[Ô] & nNFFin & [Ô]</nNFFin>[Ô]
strXML += [Ô]<xJust>[Ô] & xJust & [Ô]</xJust>[Ô]
strXML += [Ô]</infInut>[Ô]
strXML += [Ô]</inutNFe>[Ô]
Dim xmldoc = New XmlDocument()
xmldoc.LoadXml(strXML)

[ô] ------------------------------------------- Assina o XML ------------------------------------------------------
xmldoc = Assinar(xmldoc, [Ô]infInut[Ô], CERT)

[ô] ------------------------------------------- Validando o XML Assinado ------------------------------------------------------
Dim strResultadoValidacao As String = ValidarXML(xmldoc, (My.Application.Info.DirectoryPath & [Ô]\inutNFe_v2.00.xsd[Ô]))
If strResultadoValidacao = String.Empty Then sMsgStatus = [Ô]Arquivo Validado com Sucesso[Ô] Else sMsgStatus = [Ô]Falha na validação do XML![Ô]

[ô] ------------------------------------------- Finalizando Geração de XML de Inutilização ------------------------------------------------------
xmldoc.LoadXml([Ô]<?xml version=[Ô][Ô]1.0[Ô][Ô] encoding=[Ô][Ô]utf-8[Ô][Ô] ?>[Ô] & xmldoc.InnerXml)

[ô] ------------------------------------------- Enviando Inutilização ------------------------------------------------------
Dim oNodeRetorno As XmlElement
Dim oNoPrincipal As XmlElement
oNodeRetorno = wsMsg.nfeInutilizacaoNF2(xmldoc)
Dim s_cStat As String = [Ô][Ô], s_xMotivo As String = [Ô][Ô], s_xNumeroProtocolo As String = [Ô][Ô], sVersao As String = [Ô][Ô]

[ô] ------------------------------------------- Identificando cStat e xMotivo ------------------------------------------------------
For Each oNoPrincipal In oNodeRetorno
If oNodeRetorno.Name = [Ô]retInutNFe[Ô] Then
For Each oNode As XmlNode In oNoPrincipal
If oNode.Name = [Ô]cStat[Ô] Then
s_cStat = oNode.InnerText
ElseIf oNode.Name = [Ô]xMotivo[Ô] Then
s_xMotivo = oNode.InnerText
ElseIf oNode.Name = [Ô]nProt[Ô] Then
s_xNumeroProtocolo = oNode.InnerText
End If
If s_cStat <> [Ô][Ô] And s_xMotivo <> [Ô][Ô] Then
Exit For
End If
Next
Exit For
End If
Next

If s_xMotivo = [Ô]Inutilizacao de numero homologado[Ô] Then
sMsgStatus += (vbCrLf & [Ô]Notas Fiscais - Inutilizadas[Ô])
End If

Return sMsgStatus

Abraço a todos ...
MITSUEDA 07/02/2011 17:03:08
#364612
MFlavio,

Eu tive esse problema tempos atraz, tudo começou quando em uma transmisão ocorreu um erro no envio por duplicidade da NF.

Tente de tudo e nada...

Fiz o seguinte.

A rotina cria 2 arquivos .XML, um com o nome do seu arquivo.xml e outro TryNfeLote.xml, eles são incrementados a cada envio.

Eu apaguei, e tudo voltou ao normal....

é claro que a rotina recriou os arquivos mas a numeração do lote começou do 1.

Abraço
PCROCKFELLER 07/02/2011 18:41:10
#364640
Citação:

:
Olá BARROS ...
Olá PCROCKFELLER ...

A Inutilização esta OK !
Meu agradecimento ao BARROS pela presteza e qualidade do algoritmo.

PCROCKFELLER, conforme combinado quem terminasse primeiro postaria.
Dei uma [Ô]ajustada[Ô] para adequar aos testes.
Ficou assim:


Dim sMsgStatus As String = String.Empty

[ô] ------------------------------------------- Captura o Certificado ------------------------------------------------------
Dim CERT As X509Certificate2
CERT = SelecionarCertificado(mdlCertificado.gsNumSerie)

[ô] ------------------------------------------- Parâmetros do Web Service ------------------------------------------------------
Dim cab As New Inutilizacao2.nfeCabecMsg
Dim wsMsg As Inutilizacao2.NfeInutilizacao2

cab.cUF = plUrlAcesso.CodigoUF
cab.versaoDados = [Ô]2.00[Ô]

[ô]v wsMsg.Url = plUrlAcesso.UrlNfeInutilizacao [ô] [Ô]https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao2.asmx[Ô]
wsMsg = New Inutilizacao2.NfeInutilizacao2(plUrlAcesso.UrlNfeInutilizacao)
wsMsg.nfeCabecMsgValue = cab
wsMsg.Timeout = 100000
wsMsg.ClientCertificates.Add(CERT)
wsMsg.SoapVersion = Web.Services.Protocols.SoapProtocolVersion.Soap12

[ô] ------------------------------------------- Cria o XML de Inutilizacao ------------------------------------------------------
Dim strID As String = String.Empty
strID = (plUrlAcesso.CodigoUF & ano & CNPJ & [Ô]55001[Ô] & ([Ô]000000[Ô] & nNFIni) & ([Ô]000000[Ô] & nNFFin))
Dim strXML As String = String.Empty
strXML += [Ô]<inutNFe xmlns=[ô]http://www.portalfiscal.inf.br/nfe[ô] versao=[ô]2.00[ô]>[Ô]
strXML += [Ô]<infInut Id =[ô]ID[Ô] & strID & [Ô][ô]>[Ô]
strXML += [Ô]<tpAmb>[Ô] & [Ô]2[Ô] & [Ô]</tpAmb>[Ô]
strXML += [Ô]<xServ>INUTILIZAR</xServ>[Ô]
strXML += [Ô]<cUF>[Ô] & plUrlAcesso.CodigoUF & [Ô]</cUF>[Ô]
strXML += [Ô]<ano>[Ô] & ano & [Ô]</ano>[Ô]
strXML += [Ô]<CNPJ>[Ô] & CNPJ & [Ô]</CNPJ>[Ô]
strXML += [Ô]<mod>55</mod>[Ô]
strXML += [Ô]<serie>1</serie>[Ô]
strXML += [Ô]<nNFIni>[Ô] & nNFIni & [Ô]</nNFIni>[Ô]
strXML += [Ô]<nNFFin>[Ô] & nNFFin & [Ô]</nNFFin>[Ô]
strXML += [Ô]<xJust>[Ô] & xJust & [Ô]</xJust>[Ô]
strXML += [Ô]</infInut>[Ô]
strXML += [Ô]</inutNFe>[Ô]
Dim xmldoc = New XmlDocument()
xmldoc.LoadXml(strXML)

[ô] ------------------------------------------- Assina o XML ------------------------------------------------------
xmldoc = Assinar(xmldoc, [Ô]infInut[Ô], CERT)

[ô] ------------------------------------------- Validando o XML Assinado ------------------------------------------------------
Dim strResultadoValidacao As String = ValidarXML(xmldoc, (My.Application.Info.DirectoryPath & [Ô]inutNFe_v2.00.xsd[Ô]))
If strResultadoValidacao = String.Empty Then sMsgStatus = [Ô]Arquivo Validado com Sucesso[Ô] Else sMsgStatus = [Ô]Falha na validação do XML![Ô]

[ô] ------------------------------------------- Finalizando Geração de XML de Inutilização ------------------------------------------------------
xmldoc.LoadXml([Ô]<?xml version=[Ô][Ô]1.0[Ô][Ô] encoding=[Ô][Ô]utf-8[Ô][Ô] ?>[Ô] & xmldoc.InnerXml)

[ô] ------------------------------------------- Enviando Inutilização ------------------------------------------------------
Dim oNodeRetorno As XmlElement
Dim oNoPrincipal As XmlElement
oNodeRetorno = wsMsg.nfeInutilizacaoNF2(xmldoc)
Dim s_cStat As String = [Ô][Ô], s_xMotivo As String = [Ô][Ô], s_xNumeroProtocolo As String = [Ô][Ô], sVersao As String = [Ô][Ô]

[ô] ------------------------------------------- Identificando cStat e xMotivo ------------------------------------------------------
For Each oNoPrincipal In oNodeRetorno
If oNodeRetorno.Name = [Ô]retInutNFe[Ô] Then
For Each oNode As XmlNode In oNoPrincipal
If oNode.Name = [Ô]cStat[Ô] Then
s_cStat = oNode.InnerText
ElseIf oNode.Name = [Ô]xMotivo[Ô] Then
s_xMotivo = oNode.InnerText
ElseIf oNode.Name = [Ô]nProt[Ô] Then
s_xNumeroProtocolo = oNode.InnerText
End If
If s_cStat <> [Ô][Ô] And s_xMotivo <> [Ô][Ô] Then
Exit For
End If
Next
Exit For
End If
Next

If s_xMotivo = [Ô]Inutilizacao de numero homologado[Ô] Then
sMsgStatus += (vbCrLf & [Ô]Notas Fiscais - Inutilizadas[Ô])
End If

Return sMsgStatus

Abraço a todos ...



Valeu, vou ajustar no meu também.....Obrigado
PCROCKFELLER 07/02/2011 20:03:37
#364644
NETODV1

Está dando um erro: Rejeição: Falha no Schema XML.
Estou testando no ambiente de homologação, será que é isso?
PCROCKFELLER 07/02/2011 20:42:23
#364647
Citação:

:
pRockFeller, veja se não há nenhum acento no seu xml, ou se não há nenhuma TAG em aberto...

Daniel: Tá tranquilo, amigo. Só tô brincando, prá descontrair.

NETODV1:Que é isso, amigo: Sò estou retribuindo um pouco da ajuda que tive por aqui.



Barros, não há acentos e as tags acho que estão corretas, está abaixo:

<inutNFe xmlns=[ô]http://www.portalfiscal.inf.br/nfe[ô] versao=[ô]2.00[ô]><infInut Id =[ô]ID3520114539725400012555001000000001000000010[ô]><tpAmb>2</tpAmb><xServ>INUTILIZAR</xServ><cUF>35</cUF><ano>2011</ano><CNPJ>45397254000125</CNPJ><mod>55</mod><serie>1</serie><nNFIni>1</nNFIni><nNFFin>10</nNFFin><xJust>Teste Erro</xJust></infInut></inutNFe>[Ô]

A comparação com o esquema dá validado com sucesso, mas o retorno do envio dá rejeição

Obrigado pela ajuda
Página 77 de 228 [2276 registro(s)]
Faça seu login para responder