Jump to content

POWERED BY:

Archived

This topic is now archived and is closed to further replies.

Jair Humberto

Como assinar XML com certificado digital A3?

Recommended Posts

Olá pessoal,

 

estou usando o VB.net para desenvolver uma dll COM que resolve a questão da Nota Fiscal Eletrônica,

mas ta difícil. Cheguei no certificado A3 e empaquei, não consigo seguir adiante. Já fiz TUDO referente

ao envio e assinatura com certificado A1, mas e o A3 alguém pode me ajudar?

 

Procurei muito na net mas não acho nada a respeito, no máximo, consigo links que apontam para um blog

nf-eletronica.com/blog, onde os caras disponibilizam um acódigo C# que não faz nada além do meu (segundo

a minha revisão)

 

existe algum link onde fala sobre isso que alguém saiba, como assinar o codigo?

 

meu código é o seguinte:

 

 

'

' É necessário referencia aos namespaces System.Security e System.Web.Services

'

Imports System.Xml

Imports System.Security.Cryptography.Xml

Imports System.Security.Cryptography.X509Certificates

 

Namespace MyNFe

 

<ComClass(Init.ClassId, Init.InterfaceId, Init.EventsId)> _

Public Class Init

 

#Region "COM GUIDs"

Public Const ClassId As String = "5c506b5b-5b3d-4bd2-bc64-2502c4716324"

Public Const InterfaceId As String = "a242b6b8-f82a-4972-84fc-741f44edb85b"

Public Const EventsId As String = "2dfb5b2e-e831-4faa-b226-8d9a76eedae8"

#End Region

 

Private vWebServiceXMLResponse As String

Private vWebServiceTpAmbResponse As String

Private vWebServiceVerAplicResponse As String

Private vWebServiceCStatResponse As String

Private vWebServiceXMotivoResponse As String

Private vWebServiceCUFResponse As String

Private vWebServiceNRecResponse As String

Private vWebServiceDhRecbtoResponse As String

Private vWebServiceTMedResponse As String

Private vWebServiceXObsResponse As String

Private vDocumentType As String

Private vOutRefURI As String

Private vRefURI As String

Private vCabecMsg As String

Private vSubjectCertificate As String

 

'

' Grava o XML de resposta do webservice da Sefaz

'

Private WriteOnly Property WebServiceXMLResponse() As String

Set(ByVal value As String)

If (String.IsNullOrEmpty(value) = False) Then

Me.vWebServiceXMLResponse = value

End If

 

Dim documentoXML As New XmlDocument

Dim tpAmbList, verAplicList, cStatList, xMotivoList, cUFList, nRecList, dhRecbtoList, tMedList, xObsList As XmlNodeList

documentoXML.LoadXml(value)

 

cUFList = documentoXML.GetElementsByTagName("cUF")

nRecList = documentoXML.GetElementsByTagName("nRec")

tMedList = documentoXML.GetElementsByTagName("tMed")

xObsList = documentoXML.GetElementsByTagName("xObs")

tpAmbList = documentoXML.GetElementsByTagName("tpAmb")

cStatList = documentoXML.GetElementsByTagName("cStat")

xMotivoList = documentoXML.GetElementsByTagName("xMotivo")

verAplicList = documentoXML.GetElementsByTagName("verAplic")

dhRecbtoList = documentoXML.GetElementsByTagName("dhRecbto")

 

If (tpAmbList.Count <> 0) Then

Me.vWebServiceTpAmbResponse = tpAmbList(0).InnerText

Else

Me.vWebServiceTpAmbResponse = ""

End If

 

If (verAplicList.Count <> 0) Then

Me.vWebServiceVerAplicResponse = verAplicList(0).InnerText

Else

Me.vWebServiceVerAplicResponse = ""

End If

 

If (cStatList.Count <> 0) Then

Me.vWebServiceCStatResponse = cStatList(0).InnerText

Else

Me.vWebServiceCStatResponse = ""

End If

 

If (xMotivoList.Count <> 0) Then

Me.vWebServiceXMotivoResponse = xMotivoList(0).InnerText

Else

Me.vWebServiceXMotivoResponse = ""

End If

 

If (cUFList.Count <> 0) Then

Me.vWebServiceCUFResponse = cUFList(0).InnerText

Else

Me.vWebServiceCUFResponse = ""

End If

 

If (nRecList.Count <> 0) Then

Me.vWebServiceNRecResponse = nRecList(0).InnerText

Else

Me.vWebServiceNRecResponse = ""

End If

 

If (dhRecbtoList.Count <> 0) Then

Me.vWebServiceDhRecbtoResponse = dhRecbtoList(0).InnerText

Else

Me.vWebServiceDhRecbtoResponse = ""

End If

 

If (tMedList.Count <> 0) Then

Me.vWebServiceTMedResponse = tMedList(0).InnerText

Else

Me.vWebServiceTMedResponse = ""

End If

 

If (xObsList.Count <> 0) Then

Me.vWebServiceXObsResponse = xObsList(0).InnerText

Else

Me.vWebServiceXObsResponse = ""

End If

End Set

End Property

 

'

' Retorna o XML de resposta do webservice da Sefaz

'

Public ReadOnly Property RESPOSTAWEBSERVICEXML() As String

Get

Return Me.vWebServiceXMLResponse

End Get

End Property

 

'

' Retorna o valor da tag tpAmb do XML de resposta do webservice da Sefaz

'

Public ReadOnly Property RESPTIPOAMBIENTE() As String

Get

Return Me.vWebServiceTpAmbResponse

End Get

End Property

 

'

' Retorna o valor da tag verAplic do XML de resposta do webservice da Sefaz

'

Public ReadOnly Property RESPWEBSERVICEVERSAO() As String

Get

Return Me.vWebServiceVerAplicResponse

End Get

End Property

 

'

' Retorna o valor da tag cStat do XML de resposta do webservice da Sefaz

'

Public ReadOnly Property RESPCODIGOMENSAGEM() As String

Get

Return Me.vWebServiceCStatResponse

End Get

End Property

 

'

' Retorna o valor da tag xMotivo do XML de resposta do webservice da Sefaz

'

Public ReadOnly Property RESPMENSAGEM() As String

Get

Return Me.vWebServiceXMotivoResponse

End Get

End Property

 

'

' Retorna o valor da tag cUF do XML de resposta do webservice da Sefaz

'

Public ReadOnly Property RESPCODIGOUF() As String

Get

Return Me.vWebServiceCUFResponse

End Get

End Property

 

'

' Retorna o valor da tag nRec do XML de resposta do webservice da Sefaz

'

Public ReadOnly Property RESPNUMERORECIBO() As String

Get

Return Me.vWebServiceNRecResponse

End Get

End Property

 

'

' Retorna o valor da tag dhRecbto do XML de resposta do webservice da Sefaz

'

Public ReadOnly Property RESPDATAHORARECEBIMENTO() As String

Get

Return Me.vWebServiceDhRecbtoResponse

End Get

End Property

 

'

' Retorna o valor da tag tMed do XML de resposta do webservice da Sefaz

'

Public ReadOnly Property RESPTEMPOMEDIO() As String

Get

Return Me.vWebServiceTMedResponse

End Get

End Property

 

'

' Retorna o valor da tag xObs do XML de resposta do webservice da Sefaz

'

Public ReadOnly Property RESPOBSERVACOES() As String

Get

Return Me.vWebServiceXObsResponse

End Get

End Property

 

'

' Alias para SubjectCertificate para manter

' Compatibilidade com o EMPRESA

'

Public Property NOMECERTIFICADO() As String

Get

Return Me.SubjectCertificate

End Get

Set(ByVal value As String)

Me.SubjectCertificate = value

End Set

End Property

 

'

' Referente ao assunto do certificado (Subject)

' Usando esse valor, não é necessário abrir a janela

' do repositório MY do Windows para o usuário, toda vez

' que for requerido um certificado digital

'

Private Property SubjectCertificate() As String

Get

Return Me.vSubjectCertificate

End Get

Set(ByVal value As String)

Me.vSubjectCertificate = value

End Set

End Property

 

'

' Referente ao tipo de documento a ser enviado à SEFAZ

' exemplo: NfeRecepcao (Nota Fiscal Eletrônica)

'

Private Property DocumentType() As String

Get

Return Me.vDocumentType

End Get

Set(ByVal value As String)

value = RTrim(value)

Select Case value

Case "NfeRecepcao"

Me.RefURI = "infNFe"

Me.OutRefURI = "NFe"

Me.CabecMsg = "<?xml version=""1.0"" encoding=""UTF-8""?><cabecMsg xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""1.02""><versaoDados>1.10</versaoDados></cabecMsg>"

Case "NfeRetRecepcao"

Me.RefURI = "" ' Não é necessário para esse serviço

Me.OutRefURI = "" ' Não é necessário para esse serviço

Me.CabecMsg = "<?xml version=""1.0"" encoding=""UTF-8""?><cabecMsg xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""1.02""><versaoDados>1.10</versaoDados></cabecMsg>"

Case "NfeCancelamento"

Me.RefURI = "infCanc"

Me.OutRefURI = "infNFe"

Me.CabecMsg = "<?xml version=""1.0"" encoding=""UTF-8""?><cabecMsg xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""1.02""><versaoDados>1.07</versaoDados></cabecMsg>"

Case "NfeInutilizacao"

Me.RefURI = "infInut"

Me.OutRefURI = "infNFe"

Me.CabecMsg = "<?xml version=""1.0"" encoding=""UTF-8""?><cabecMsg xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""1.02""><versaoDados>1.07</versaoDados></cabecMsg>"

Case "NfeConsultaNF"

Me.RefURI = "" ' Não é necessário para esse serviço

Me.OutRefURI = "" ' Não é necessário para esse serviço

Me.CabecMsg = "<?xml version=""1.0"" encoding=""UTF-8""?><cabecMsg xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""1.02""><versaoDados>1.07</versaoDados></cabecMsg>"

Case "NfeStatusServico"

Me.RefURI = "infProt"

Me.OutRefURI = "infNFe"

Me.CabecMsg = "<?xml version=""1.0"" encoding=""UTF-8""?><cabecMsg xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""1.02""><versaoDados>1.07</versaoDados></cabecMsg>"

Case Else

Me.RefURI = "infNFe"

Me.OutRefURI = "NFe"

Me.CabecMsg = "<?xml version=""1.0"" encoding=""UTF-8""?><cabecMsg xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""1.02""><versaoDados>1.10</versaoDados></cabecMsg>"

End Select

Me.vDocumentType = value

End Set

End Property

 

'

' Obs.: as propriedades abaixo não devem ser chamadas manualmente

' pois seus valores são setados automaticamente de acordo com o

' tipo de documento a ser enviado à sefaz.

'

 

'

' Referente à tag do documento XML que deve ser assinada.

' exemplo.: infNFe

'

Private Property RefURI() As String

Get

Return Me.vRefURI

End Get

Set(ByVal value As String)

Me.vRefURI = value

End Set

End Property

 

'

' Referente à pai da tag do documento XML que deve ser assinada.

' exemplo.: NFe

' Util para assinatura de lotes de notas fiscais

'

Private Property OutRefURI() As String

Get

Return Me.vOutRefURI

End Get

Set(ByVal value As String)

Me.vOutRefURI = value

End Set

End Property

 

'

' Referente ao cabeçalho XML que deve ser enviado junto ao documento XML

' para validação do documento XML pela sefaz de acordo com a sua versão

'

Private Property CabecMsg() As String

Get

Return Me.vCabecMsg

End Get

Set(ByVal value As String)

Me.vCabecMsg = value

End Set

End Property

 

'

' Construtor obrigatório para Classes COM

'

Public Sub New()

MyBase.New()

Me.SubjectCertificate = ""

End Sub

 

'

' Envelopa uma mensagem de erro em um documento xml

' Estrutura da mensagem:

' <?xml version="1.0" encoding="UTF-8"?><error><message>Message</message></error>

'

Private Function ExceptionXML(ByVal Message As String) As XmlDocument

 

Dim EXML As New XmlDocument

Dim EXMLDeclare As XmlDeclaration

Dim EXMLError As XmlNode

Dim EXMLMessage As XmlNode

Dim EXMLMessageText As XmlText

 

EXMLDeclare = EXML.CreateXmlDeclaration("1.0", "UTF-8", "")

EXMLError = EXML.CreateElement("error")

EXMLMessage = EXML.CreateElement("message")

EXMLMessageText = EXML.CreateTextNode(Message)

 

EXML.AppendChild(EXMLDeclare)

EXMLMessage.AppendChild(EXMLMessageText)

EXMLError.AppendChild(EXMLMessage)

EXML.AppendChild(EXMLError)

 

Return EXML

 

End Function

 

'

' Pega o certificado digital relativo à Subject, ou caso

' Subject seja vazio, abre o repositório MY do windows para

' Seleção de certificado

'

Private Function GetCertificate(Optional ByVal Subject As String = "") As X509Certificate2

Dim Certificate As New X509Certificate2

Try

Dim store As New X509Store(StoreName.My, StoreLocation.CurrentUser)

store.Open(OpenFlags.ReadOnly Or OpenFlags.OpenExistingOnly)

 

Dim collection As X509Certificate2Collection = store.Certificates

Dim collection1 As X509Certificate2Collection = collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False)

Dim collection2 As X509Certificate2Collection = collection1.Find(X509FindType.FindByKeyUsage, X509KeyUsageFlags.DigitalSignature, False)

 

If (Subject = "") Then

Dim scollection As X509Certificate2Collection = X509Certificate2UI.SelectFromCollection(collection2, "Certificado(s) Digital(is) disponível(is)", "Selecione o Certificado Digital para uso no aplicativo", X509SelectionFlag.SingleSelection)

If (scollection.Count = 0) Then

Certificate.Reset()

Else

Certificate = scollection(0)

End If

Else

Dim scollection As X509Certificate2Collection = collection2.Find(X509FindType.FindBySubjectDistinguishedName, Subject, False)

If (scollection.Count = 0) Then

Certificate.Reset()

Else

Certificate = scollection(0)

End If

End If

store.Close()

Catch ex As Exception

Throw New Exception(ex.Message)

End Try

Return Certificate

End Function

 

'

' Abre o repositório MY do Windows para pegar o

' assunto do certificado digital selecionado.

'

Private Function GetCertificateSubject() As String

Dim Certificate As New X509Certificate2

Try

Certificate = Me.GetCertificate()

Return Certificate.Subject

Catch ex As Exception

Return ex.Message

End Try

End Function

 

'

' Alias para GetCertificateSubject.

' Para manter a compatibilidade com o EMPRESA.

'

Public Function PEGANOMECERTIFICADO() As String

Return Me.GetCertificateSubject

End Function

 

'

' Assina um documento XML do tipo XmlDocument (por referencia)

'

Private Function XMLAssign(ByRef DXML As XmlDocument, ByVal RefURI As String, ByVal OutRefURI As String, ByVal Certificate As X509Certificate2) As Boolean

Dim KeyAlgorithm As String

Dim env As New XmlDsigEnvelopedSignatureTransform

Dim c14 As New XmlDsigC14NTransform

Dim KeyInfo As New KeyInfo

Dim RefURICollection As Object 'XmlNodeList

Dim RefURICollectionItem As XmlElement

Dim QtdRefURI As Integer

 

Try

RefURICollection = DXML.GetElementsByTagName(OutRefURI)

KeyAlgorithm = Certificate.GetKeyAlgorithm().ToString()

DXML.PreserveWhitespace = True

 

For I As Integer = RefURICollection.Count - 1 To 0 Step -1

RefURICollectionItem = CType(RefURICollection(I), XmlElement)

QtdRefURI = RefURICollectionItem.GetElementsByTagName(RefURI).Count

 

If (QtdRefURI = 1) Then

Dim SignedXml As New SignedXml(RefURICollectionItem)

Dim ElementRefURI As XmlAttributeCollection = RefURICollection(I).GetElementsByTagName(RefURI).Item(0).Attributes

Dim Reference As New Reference

 

SignedXml.SigningKey = Certificate.PrivateKey

 

For Each Attribute As XmlAttribute In ElementRefURI

If (Attribute.Name = "Id") Then

Reference.Uri = "#" & Attribute.InnerText

End If

Next

 

Reference.AddTransform(env)

Reference.AddTransform(c14)

SignedXml.AddReference(Reference)

 

KeyInfo.AddClause(New KeyInfoX509Data(Certificate))

SignedXml.KeyInfo = KeyInfo

SignedXml.ComputeSignature()

 

RefURICollectionItem.AppendChild(SignedXml.GetXml)

Else

Throw New Exception("Deve existir exatamente uma RefURI para cada OutRefURI. Foram encontradas " & QtdRefURI & " Ocorrências em uma OutRefURI")

End If

Next I

Return True

Catch ex As Exception

Return False

End Try

End Function

 

'

' Assina um arquivo XML gravado no disco

'

Private Function XMLFileAssign(ByVal FilePath As String, ByVal RefURI As String, ByVal OutRefURI As String, ByVal Certificate As X509Certificate2) As Boolean

Dim GetXML As New XmlDocument

GetXML.Load(FilePath)

 

If (XMLAssign(GetXML, RefURI, OutRefURI, Certificate) = True) Then

GetXML.Save(FilePath)

Return True

Else

Return False

End If

End Function

 

'

' Envia um documento XML para a Sefaz

'

Private Function XMLSend(ByVal DXML As XmlDocument, ByVal WebServiceURL As String, ByVal Certificate As X509Certificate2) As XmlDocument

 

'Seta as variaveis de acordo com os respectivos valores das propriedades

Dim SefazWebService As String = Me.DocumentType

 

'Cria um objeto de envio

Dim RetornoWebService As New Envio

 

Dim SefazWebServiceResponse As New XmlDocument

 

'Seta o endereço do web service

RetornoWebService.Url = WebServiceURL

 

'Assina a conexão

RetornoWebService.ClientCertificates.Add(Me.GetCertificate(Me.SubjectCertificate))

 

'Retorno do Webservice

Select Case SefazWebService

Case "NfeRecepcao"

SefazWebServiceResponse.LoadXml(RetornoWebService.nfeRecepcaoLote(Me.CabecMsg, DXML.OuterXml))

Case "NfeRetRecepcao"

SefazWebServiceResponse.LoadXml(RetornoWebService.nfeRetRecepcao(Me.CabecMsg, DXML.OuterXml))

Case "NfeCancelamento"

SefazWebServiceResponse.LoadXml(RetornoWebService.nfeCancelamentoNF(Me.CabecMsg, DXML.OuterXml))

Case "NfeInutilizacao"

SefazWebServiceResponse.LoadXml(RetornoWebService.nfeInutilizacaoNF(Me.CabecMsg, DXML.OuterXml))

Case "NfeConsultaNF"

SefazWebServiceResponse.LoadXml(RetornoWebService.nfeConsultaNF(Me.CabecMsg, DXML.OuterXml))

Case "NfeStatusServico"

SefazWebServiceResponse.LoadXml(RetornoWebService.nfeStatusServicoNF(Me.CabecMsg, DXML.OuterXml))

Case Else

SefazWebServiceResponse = Me.ExceptionXML("_WEBSERVICE (" & Trim(SefazWebService) & ") não reconhecido")

End Select

 

Return SefazWebServiceResponse

End Function

 

'

' Assina e envia um arquivo para a sefaz

'

Public Function XML_ENVIA(ByVal CAMINHOARQUIVO As String, ByVal TIPOARQUIVO As String, ByVal URLWEBSERVICE As String) As Boolean

Dim DXML As New XmlDocument

 

DXML.PreserveWhitespace = True

Me.DocumentType = TIPOARQUIVO

 

If (Me.XMLFileAssign(CAMINHOARQUIVO, Me.RefURI, Me.OutRefURI, Me.GetCertificate(Me.SubjectCertificate)) = True) Then

DXML.Load(CAMINHOARQUIVO)

Me.WebServiceXMLResponse = Me.XMLSend(DXML, URLWEBSERVICE, Me.GetCertificate(Me.SubjectCertificate)).OuterXml

Return True

Else

Return False

End If

End Function

 

'

' Busca resposta do WebService relacionada a um

' envio anterior de nota fiscal.

'

Public Function BUSCARETORNO(ByVal NRORECIBO As String, ByVal TIPOAMBIENTE As Integer, ByVal URLWEBSERVICE As String) As Boolean

Dim DXML As New XmlDocument

Me.DocumentType = "NfeRetRecepcao"

DXML.LoadXml("<?xml version=""1.0"" encoding=""UTF-8""?><consReciNFe xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""1.10""><tpAmb>" & TIPOAMBIENTE & "</tpAmb><nRec>" & NRORECIBO & "</nRec></consReciNFe>")

Me.WebServiceXMLResponse = Me.XMLSend(DXML, URLWEBSERVICE, Me.GetCertificate(Me.SubjectCertificate)).OuterXml

End Function

 

'

' Consulta status de uma nota fiscal.

'

Public Function CONSULTANF(ByVal CHAVEACESSO As String, ByVal TIPOAMBIENTE As Integer, ByVal URLWEBSERVICE As String) As Boolean

Dim DXML As New XmlDocument

Me.DocumentType = "NfeConsultaNF"

DXML.LoadXml("<?xml version=""1.0"" encoding=""UTF-8""?><consSitNFe xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""1.07""><tpAmb>" & TIPOAMBIENTE & "</tpAmb><xServ>CONSULTAR</xServ><chNFe>" & CHAVEACESSO & "</chNFe></consSitNFe>")

Me.WebServiceXMLResponse = Me.XMLSend(DXML, URLWEBSERVICE, Me.GetCertificate(Me.SubjectCertificate)).OuterXml

End Function

 

'

' Consulta status do serviço.

'

Public Function CONSULTASTATUSSERVICO(ByVal CUF As String, ByVal TIPOAMBIENTE As Integer, ByVal URLWEBSERVICE As String) As Boolean

Dim DXML As New XmlDocument

Me.DocumentType = "NfeStatusServico"

DXML.LoadXml("<?xml version=""1.0"" encoding=""UTF-8""?><consStatServ xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""1.07""><tpAmb>" & TIPOAMBIENTE & "</tpAmb><cUF>" & CUF & "</cUF><xServ>STATUS</xServ></consStatServ>")

Me.WebServiceXMLResponse = Me.XMLSend(DXML, URLWEBSERVICE, Me.GetCertificate(Me.SubjectCertificate)).OuterXml

End Function

 

End Class

 

'

' Classe utilizada para envio dos documentos XML à sefaz

'

<System.Web.Services.WebServiceBindingAttribute()> _

Class Envio

Inherits System.Web.Services.Protocols.SoapHttpClientProtocol

 

<System.Web.Services.Protocols.SoapDocumentMethodAttribute(RequestNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao",'>http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao", ResponseNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao")> _

Public Function nfeRecepcaoLote(ByVal nfeCabecMsg As String, ByVal nfeDadosMsg As String) As String

Dim results() As Object = Me.Invoke("nfeRecepcaoLote", New Object() {nfeCabecMsg, nfeDadosMsg})

Return results(0)

End Function

 

<System.Web.Services.Protocols.SoapDocumentMethodAttribute(RequestNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRetRecepcao",'>http://www.portalfiscal.inf.br/nfe/wsdl/NfeRetRecepcao", ResponseNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRetRecepcao")> _

Public Function nfeRetRecepcao(ByVal nfeCabecMsg As String, ByVal nfeDadosMsg As String) As String

Dim results() As Object = Me.Invoke("nfeRetRecepcao", New Object() {nfeCabecMsg, nfeDadosMsg})

Return results(0)

End Function

 

<System.Web.Services.Protocols.SoapDocumentMethodAttribute(RequestNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeCancelamento",'>http://www.portalfiscal.inf.br/nfe/wsdl/NfeCancelamento", ResponseNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeCancelamento")> _

Public Function nfeCancelamentoNF(ByVal nfeCabecMsg As String, ByVal nfeDadosMsg As String) As String

Dim results() As Object = Me.Invoke("nfeCancelamentoNF", New Object() {nfeCabecMsg, nfeDadosMsg})

Return results(0)

End Function

 

<System.Web.Services.Protocols.SoapDocumentMethodAttribute(RequestNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao",'>http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao", ResponseNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao")> _

Public Function nfeInutilizacaoNF(ByVal nfeCabecMsg As String, ByVal nfeDadosMsg As String) As String

Dim results() As Object = Me.Invoke("nfeInutilizacaoNF", New Object() {nfeCabecMsg, nfeDadosMsg})

Return results(0)

End Function

 

<System.Web.Services.Protocols.SoapDocumentMethodAttribute(RequestNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta",'>http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta", ResponseNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta")> _

Public Function nfeConsultaNF(ByVal nfeCabecMsg As String, ByVal nfeDadosMsg As String) As String

Dim results() As Object = Me.Invoke("nfeConsultaNF", New Object() {nfeCabecMsg, nfeDadosMsg})

Return results(0)

End Function

 

<System.Web.Services.Protocols.SoapDocumentMethodAttribute(RequestNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico",'>http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico", ResponseNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico")> _

Public Function nfeStatusServicoNF(ByVal nfeCabecMsg As String, ByVal nfeDadosMsg As String) As String

Dim results() As Object = Me.Invoke("nfeStatusServicoNF", New Object() {nfeCabecMsg, nfeDadosMsg})

Return results(0)

End Function

 

End Class

 

End Namespace

 

 

 

Se puderem me ajudar fico agradecido.

Share this post


Link to post
Share on other sites

Ola Jair,

 

Será que você pode me orientar como utilizar o seu código?

 

Muito Obrigado.

 

Seitinho

 

É só criar um novo projeto no visual studio 2005 do tipo classe ou library.

Então copia e cola esse código aí e compila. Se for usar com aplicativos System32 precisa certificar se a opção "register com interop" está habilitada no projeto na hora de compilar.

 

Pra usar, cria uma instancia para a classe Init assim:

Dim instancia As MyNFe.Init

 

e o objeto resultado terá acesso aos métodos e atributos.

 

algumas coisas ainda estão sendo melhoradas, por exemplo, a consulta NF

e busca retorno onde preciso buscar os CAMPOS corretos, pois só agora

descobri que me enganei com alguns campos.

 

porém o XML já está retornando. só preciso salvar os campos nos atributos

corretos.

 

Pra registrar dll do tipo .net, tem que usar o regasm e não regsvr32 ein?

não esqueça esse detalhe.

 

outra coisa, na sua linguagem system32 se for o caso, lembre-se de fazer referencia ao arquivo TBL em vez do arquivo dll(desde que estejam na mesma pasta) esse arquivo também é gerado na hora de compilar.

 

Agora... ^^

 

Gente também preciso de ajuda, como faço com o certificado A3?

Me ajuda aí :(

 

o nosso bom e amigo google não me retorna nada de útil!!

 

pode ser até em C# mesmo não tem problema.

Share this post


Link to post
Share on other sites

Bom dia Seitinho.

 

Uma pergunta?

Você ja formou a chave de acesso da Nfe?

 

Na formação da chave no manual da NFe fala.

 

cNF - Código numerico que compão a chave de acesso, que chave é esta?

 

Como obter esta chave de acesso?

 

Agradeço a atenção.

 

t+

Share this post


Link to post
Share on other sites

Olá gente,

 

Eu já conclui os processos. Está completo. Geramos na empresa onde trabalho todos os passos necessários.

O XML da nota, o XML do pedido de cancelamento e o XML do pedido de inutilização de faixa de numeração,

tiveram que ser gerados no VB6 e salvos como arquivo XML.

 

Eu queria gerar tudo na dll, mas um erro que não entendo acontecia. Quando eu gerava o XML pela Dll e assinava

a assinatura ficava inválida, mas quando eu pegava o xml de um arquivo salvo no disco, a assinatura validava.

 

engraçado né? Tirando isso consegui completar todos os passos. Como o VB6 que é a linguagem que utilizamos dá suporte a geração de XML (ruim, mas dá) . Então paramos por aqui.

 

Seria legal se conseguíssemos resolver o problema do XML gerado pela DLL, porque aí ficaria bem mais completo

e funcional.

 

mas mudei muito o código. Embora esse que está postado acima funcione também, pois descobri que o passo para realizar a assinatura com certificado A3 é o mesmo.

 

só difere nos seguintes passos que não são responsabilidade da programação:

 

1-instalar a leitora do cartão

2-certificar atraves do SafeSign se o cartão já está com o certificado, pois ele vem sempre vazio, e o certificado é mandado por email para o cliente, e há passos a seguir para salvar o certificado no cartão, e isto o cliente 99% das vezes não sabe, ele simplesmente te entrega o cartão vazio pensando que é o certificado

a-menu iniciar > programas > safesign > gerenciador de dispositivo criptografico ou token,

b-verificar a validade do certificado (esta opção está em alguma parte do menu, não me lembro qual. mas se fuçar acha facinho), digite o PIN. Se tiver tudo em branco é porque não tem certificado.

 

c-há outras formas de verificar se o certificado é válido, como por exemplo, entrar no e-CAC da receita federal. Os dados do cartão devem aparecer na tarja amarela no topo do site(lembre-se o site é e-cac não receita federal, embora o e-cac seja da receita claro.)

 

3-ao seguir os passos 1 e 2 o certificado deve aparecer no repositorio MY do windows, ao retirar o cartão da leitora ele deve desaparecer em alguns intantes. O problema é que toda vez que for assinar um arquivo com o cartão tem que digitar o PIN. Mas existe códigos na net pra resolver isso, porém eu não quis implementar..

pois acho que é mais produtivo focar no A1

 

Vocês estão com problemas ainda?

Share this post


Link to post
Share on other sites

Pessoal por favor me ajudem com isso.

 

Eu já estou com tudo instalado (leitor de cartão , certificado , etc)

Não sei como ler o certificado e "carimbar" a string do certificado digital na tag do meu XML.

 

 

obrigado

Luiz

lmoraes@lopes.com.br

Share this post


Link to post
Share on other sites

Boa tarde a todos !!!

 

jair utilizei o código que postou acima para compor a dll no .net.

Ela aparece normalmente no VB6 nem como seus atributos porém quando dou o seguinte comando :

 

MsgBox (Nfe.XML_ENVIA("C:\BKP_NF_e\351006390082140001400100000000000110096651222-nfe.xml", "NfeRecepcao", "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nferecepcao.asmx"))

 

ele me retorna sempre falso...

 

você saberia me dizer o que pode estar acontecendo ??

 

Acredito que seja alguma coisa com o metodo FileAssign mas conferi os parametros DocumentType, RefURI, OutRefURI e estão todos certos de acordo com o meu XML... outra coisa é que meus layout´s estão na versão 2.0 e o seu código na versão 1.10. Mas já tentei mudar e não deu certo também..

 

nem o srquivo está conseguindo ser assinado e o certificado é informado em tempo de execução...

 

Alguém poderia me ajudar por favor ..

 

 

 

<?xml version="1.0" encoding="UTF-8" ?>

- <enviNFe xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe enviNFe_v2.00.xsd" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" versao="2.00">

<idLote>000000062062010</idLote>

- <NFe>

- <infNFe versao="2.00" Id="NFe35100639008214000140010000000000011009665122">

- <ide>

<cUF>35</cUF>

<cNF>00966512</cNF>

<natOp>VENDA - 6.101/6.401</natOp>

<indPag>1</indPag>

<mod>55</mod>

<serie>1</serie>

<nNF>182401</nNF>

<dEmi>2010-06-16</dEmi>

<dSaiEnt>2010-06-16</dSaiEnt>

<hSaiEnt>00:00:00</hSaiEnt>

<tpNF>1</tpNF>

<cMunFG>3305307</cMunFG>

<tpImp>1</tpImp>

<tpEmis>1</tpEmis>

<cDV>2</cDV>

<tpAmb>2</tpAmb>

<finNFe>1</finNFe>

<procEmi>0</procEmi>

<verProc>2.00</verProc>

</ide>

- <emit>

<CNPJ>39008214000140</CNPJ>

<xNome>Silva Mattos & Cia Ltda</xNome>

<xFant>Silva Mattos & Cia Ltda</xFant>

- <enderEmit>

<xLgr>Rua Francisco Rodrigues Filho, 4778</xLgr>

<nro>4778</nro>

<xBairro>Vila Suissa</xBairro>

<cMun>3530607</cMun>

<xMun>Mogi das Cruzes</xMun>

<UF>SP</UF>

<CEP>08810000</CEP>

<cPais>1058</cPais>

<xPais>BRASIL</xPais>

<fone>01147935500</fone>

</enderEmit>

<IE>454105523116</IE>

<IEST>78774460</IEST>

<CRT>3</CRT>

</emit>

- <dest>

<CNPJ>10898340000135</CNPJ>

<xNome>LM MOTO PECAS E ACESSORIOS LTDA ME</xNome>

- <enderDest>

<xLgr>AVENIDA HELIO TEIXEIRA VOGAS,185</xLgr>

<nro>185</nro>

<xBairro>VALAO DO BARRO</xBairro>

<cMun>3305307</cMun>

<xMun>SAO SEBASTIAO DO ALTO</xMun>

<UF>RJ</UF>

<CEP>28555000</CEP>

<cPais>1058</cPais>

<xPais>BRASIL</xPais>

</enderDest>

<IE>78774460</IE>

</dest>

- <det nItem="1">

- <prod>

<cProd>4059</cProd>

<cEAN />

<xProd>BOLSA ASW WATERBAG TRAIL 2,0 L</xProd>

<NCM>42021220</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>1.00</qCom>

<vUnCom>46.90</vUnCom>

<vProd>46.90</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>1.00</qTrib>

<vUnTrib>46.90</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>43.70</vBC>

<pICMS>12.00</pICMS>

<vICMS>5.24</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>46.90</vBC>

<pPIS>1.65</pPIS>

<vPIS>0.77</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>46.90</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>3.56</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="2">

- <prod>

<cProd>8841</cProd>

<cEAN />

<xProd>CAMISA ASW IMAGE HEAVEN II</xProd>

<NCM>61052000</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>2.00</qCom>

<vUnCom>33.90</vUnCom>

<vProd>67.80</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>2.00</qTrib>

<vUnTrib>33.90</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>63.18</vBC>

<pICMS>12.00</pICMS>

<vICMS>7.58</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>67.80</vBC>

<pPIS>1.65</pPIS>

<vPIS>1.12</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>67.80</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>5.15</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="3">

- <prod>

<cProd>8631</cProd>

<cEAN />

<xProd>CAMISA FOX HC CAMPLOSION</xProd>

<NCM>61052000</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>2.00</qCom>

<vUnCom>47.90</vUnCom>

<vProd>95.80</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>2.00</qTrib>

<vUnTrib>47.90</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>89.27</vBC>

<pICMS>12.00</pICMS>

<vICMS>10.71</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>95.80</vBC>

<pPIS>1.65</pPIS>

<vPIS>1.58</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>95.80</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>7.28</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="4">

- <prod>

<cProd>8886</cProd>

<cEAN />

<xProd>CAPACETE ASW IMAGE RACE</xProd>

<NCM>65061000</NCM>

<CFOP>6401</CFOP>

<uCom>PÇ</uCom>

<qCom>4.00</qCom>

<vUnCom>148.00</vUnCom>

<vProd>592.00</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>4.00</qTrib>

<vUnTrib>148.00</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS10>

<orig>0</orig>

<CST>10</CST>

<modBC>0</modBC>

<vBC>551.63</vBC>

<pICMS>12.00</pICMS>

<vICMS>66.20</vICMS>

<modBCST>4</modBCST>

<pMVAST>52.10</pMVAST>

<vBCST>839.03</vBCST>

<pICMSST>19.00</pICMSST>

<vICMSST>93.22</vICMSST>

</ICMS10>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>592.00</vBC>

<pPIS>1.65</pPIS>

<vPIS>9.77</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>592.00</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>44.99</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="5">

- <prod>

<cProd>8589</cProd>

<cEAN />

<xProd>CALÇA ASW PODIUM VENTED</xProd>

<NCM>61034300</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>1.00</qCom>

<vUnCom>188.00</vUnCom>

<vProd>188.00</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>1.00</qTrib>

<vUnTrib>188.00</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>175.18</vBC>

<pICMS>12.00</pICMS>

<vICMS>21.02</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>188.00</vBC>

<pPIS>1.65</pPIS>

<vPIS>3.10</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>188.00</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>14.29</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="6">

- <prod>

<cProd>8506</cProd>

<cEAN />

<xProd>LUVA ASW IMAGE RACE</xProd>

<NCM>61169900</NCM>

<CFOP>6101</CFOP>

<uCom>PR</uCom>

<qCom>3.00</qCom>

<vUnCom>41.90</vUnCom>

<vProd>125.70</vProd>

<cEANTrib />

<uTrib>PR</uTrib>

<qTrib>3.00</qTrib>

<vUnTrib>41.90</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>117.13</vBC>

<pICMS>12.00</pICMS>

<vICMS>14.06</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>125.70</vBC>

<pPIS>1.65</pPIS>

<vPIS>2.07</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>125.70</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>9.55</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="7">

- <prod>

<cProd>8633</cProd>

<cEAN />

<xProd>CAMISA FOX HC RACE</xProd>

<NCM>61052000</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>2.00</qCom>

<vUnCom>47.90</vUnCom>

<vProd>95.80</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>2.00</qTrib>

<vUnTrib>47.90</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>89.27</vBC>

<pICMS>12.00</pICMS>

<vICMS>10.71</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>95.80</vBC>

<pPIS>1.65</pPIS>

<vPIS>1.58</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>95.80</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>7.28</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="8">

- <prod>

<cProd>8594</cProd>

<cEAN />

<xProd>CAMISA ASW PODIUM VENTED</xProd>

<NCM>61052000</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>1.00</qCom>

<vUnCom>47.90</vUnCom>

<vProd>47.90</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>1.00</qTrib>

<vUnTrib>47.90</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>44.63</vBC>

<pICMS>12.00</pICMS>

<vICMS>5.36</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>47.90</vBC>

<pPIS>1.65</pPIS>

<vPIS>0.79</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>47.90</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>3.64</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="9">

- <prod>

<cProd>5607</cProd>

<cEAN />

<xProd>BOTA ASW IMAGE</xProd>

<NCM>64034000</NCM>

<CFOP>6101</CFOP>

<uCom>PR</uCom>

<qCom>1.00</qCom>

<vUnCom>234.00</vUnCom>

<vProd>234.00</vProd>

<cEANTrib />

<uTrib>PR</uTrib>

<qTrib>1.00</qTrib>

<vUnTrib>234.00</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>218.04</vBC>

<pICMS>12.00</pICMS>

<vICMS>26.16</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>234.00</vBC>

<pPIS>1.65</pPIS>

<vPIS>3.86</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>234.00</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>17.78</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="10">

- <prod>

<cProd>8840</cProd>

<cEAN />

<xProd>CALÇA ASW IMAGE HEAVEN II</xProd>

<NCM>61034300</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>1.00</qCom>

<vUnCom>112.00</vUnCom>

<vProd>112.00</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>1.00</qTrib>

<vUnTrib>112.00</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>104.36</vBC>

<pICMS>12.00</pICMS>

<vICMS>12.52</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>112.00</vBC>

<pPIS>1.65</pPIS>

<vPIS>1.85</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>112.00</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>8.51</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="11">

- <prod>

<cProd>8626</cProd>

<cEAN />

<xProd>CALÇA FOX 180 CAMPLOSION</xProd>

<NCM>61034300</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>2.00</qCom>

<vUnCom>188.00</vUnCom>

<vProd>376.00</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>2.00</qTrib>

<vUnTrib>188.00</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>350.36</vBC>

<pICMS>12.00</pICMS>

<vICMS>42.04</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>376.00</vBC>

<pPIS>1.65</pPIS>

<vPIS>6.20</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>376.00</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>28.58</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="12">

- <prod>

<cProd>8592</cProd>

<cEAN />

<xProd>CAMISA ASW PODIUM RACE</xProd>

<NCM>61052000</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>2.00</qCom>

<vUnCom>47.90</vUnCom>

<vProd>95.80</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>2.00</qTrib>

<vUnTrib>47.90</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>89.27</vBC>

<pICMS>12.00</pICMS>

<vICMS>10.71</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>95.80</vBC>

<pPIS>1.65</pPIS>

<vPIS>1.58</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>95.80</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>7.28</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="13">

- <prod>

<cProd>8503</cProd>

<cEAN />

<xProd>CALÇA ASW IMAGE RACE</xProd>

<NCM>61034300</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>2.00</qCom>

<vUnCom>106.00</vUnCom>

<vProd>212.00</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>2.00</qTrib>

<vUnTrib>106.00</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>197.54</vBC>

<pICMS>12.00</pICMS>

<vICMS>23.70</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>212.00</vBC>

<pPIS>1.65</pPIS>

<vPIS>3.50</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>212.00</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>16.11</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="14">

- <prod>

<cProd>8628</cProd>

<cEAN />

<xProd>CALÇA FOX 180 RACE</xProd>

<NCM>61034300</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>3.00</qCom>

<vUnCom>182.00</vUnCom>

<vProd>546.00</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>3.00</qTrib>

<vUnTrib>182.00</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>508.76</vBC>

<pICMS>12.00</pICMS>

<vICMS>61.05</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>546.00</vBC>

<pPIS>1.65</pPIS>

<vPIS>9.01</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>546.00</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>41.50</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="15">

- <prod>

<cProd>5185</cProd>

<cEAN />

<xProd>CAPACETE FOX TRACER PRO</xProd>

<NCM>65061000</NCM>

<CFOP>6401</CFOP>

<uCom>PÇ</uCom>

<qCom>4.00</qCom>

<vUnCom>236.00</vUnCom>

<vProd>944.00</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>4.00</qTrib>

<vUnTrib>236.00</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS10>

<orig>0</orig>

<CST>10</CST>

<modBC>0</modBC>

<vBC>879.62</vBC>

<pICMS>12.00</pICMS>

<vICMS>105.55</vICMS>

<modBCST>4</modBCST>

<pMVAST>52.10</pMVAST>

<vBCST>1337.90</vBCST>

<pICMSST>19.00</pICMSST>

<vICMSST>148.65</vICMSST>

</ICMS10>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>944.00</vBC>

<pPIS>1.65</pPIS>

<vPIS>15.58</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>944.00</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>71.74</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="16">

- <prod>

<cProd>8587</cProd>

<cEAN />

<xProd>CALÇA ASW PODIUM RACE</xProd>

<NCM>61034300</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>1.00</qCom>

<vUnCom>179.00</vUnCom>

<vProd>179.00</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>1.00</qTrib>

<vUnTrib>179.00</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>166.79</vBC>

<pICMS>12.00</pICMS>

<vICMS>20.01</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>179.00</vBC>

<pPIS>1.65</pPIS>

<vPIS>2.95</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>179.00</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>13.60</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <det nItem="17">

- <prod>

<cProd>8504</cProd>

<cEAN />

<xProd>CAMISA ASW IMAGE RACE</xProd>

<NCM>61052000</NCM>

<CFOP>6101</CFOP>

<uCom>PÇ</uCom>

<qCom>1.00</qCom>

<vUnCom>30.90</vUnCom>

<vProd>30.90</vProd>

<cEANTrib />

<uTrib>PÇ</uTrib>

<qTrib>1.00</qTrib>

<vUnTrib>30.90</vUnTrib>

<indTot>1</indTot>

</prod>

- <imposto>

- <ICMS>

- <ICMS00>

<orig>0</orig>

<CST>00</CST>

<modBC>0</modBC>

<vBC>28.79</vBC>

<pICMS>12.00</pICMS>

<vICMS>3.45</vICMS>

</ICMS00>

</ICMS>

- <IPI>

<cEnq>999</cEnq>

- <IPINT>

<CST>51</CST>

</IPINT>

</IPI>

- <PIS>

- <PISAliq>

<CST>01</CST>

<vBC>30.90</vBC>

<pPIS>1.65</pPIS>

<vPIS>0.51</vPIS>

</PISAliq>

</PIS>

- <COFINS>

- <COFINSAliq>

<CST>01</CST>

<vBC>30.90</vBC>

<pCOFINS>7.60</pCOFINS>

<vCOFINS>2.35</vCOFINS>

</COFINSAliq>

</COFINS>

</imposto>

</det>

- <total>

- <ICMSTot>

<vBC>3717.51</vBC>

<vICMS>446.10</vICMS>

<vBCST>2176.93</vBCST>

<vST>241.87</vST>

<vProd>3989.60</vProd>

<vFrete>0.00</vFrete>

<vSeg>0.00</vSeg>

<vDesc>272.09</vDesc>

<vII>0.00</vII>

<vIPI>0.00</vIPI>

<vPIS>65.83</vPIS>

<vCOFINS>303.21</vCOFINS>

<vOutro>0.00</vOutro>

<vNF>3959.38</vNF>

</ICMSTot>

</total>

- <transp>

<modFrete>0</modFrete>

- <transporta>

<CNPJ>48740351000165</CNPJ>

<xNome>BRASPRESS TRANSPORTES URGENTES LTDA</xNome>

<IE>116945108113</IE>

<xEnder>R. CEL. MARQUES RIBEIRO, 225</xEnder>

<xMun>SAO PAULO</xMun>

<UF>SP</UF>

</transporta>

- <vol>

<qVol>3</qVol>

<esp>CX. PAPELÃO(ÕES)</esp>

</vol>

</transp>

- <cobr>

- <fat>

<nFat>182401</nFat>

<vOrig>3989.60</vOrig>

<vDesc>272.09</vDesc>

<vLiq>3959.38</vLiq>

</fat>

- <dup>

<nDup>182401/A</nDup>

<dVenc>2010-07-16</dVenc>

<vDup>791.88</vDup>

</dup>

- <dup>

<nDup>182401/B</nDup>

<dVenc>2010-07-31</dVenc>

<vDup>791.88</vDup>

</dup>

- <dup>

<nDup>182401/C</nDup>

<dVenc>2010-08-15</dVenc>

<vDup>791.88</vDup>

</dup>

- <dup>

<nDup>182401/D</nDup>

<dVenc>2010-08-30</dVenc>

<vDup>791.88</vDup>

</dup>

- <dup>

<nDup>182401/E</nDup>

<dVenc>2010-09-14</dVenc>

<vDup>791.88</vDup>

</dup>

</cobr>

<infAdic />

</infNFe>

</NFe>

</enviNFe>

 

 

Share this post


Link to post
Share on other sites

Olá Shelly, você viu que acima postei os passos para assinatura com A3?

Eu não tenho certeza, mas parece que a função NfeRecepcao não é igual para todos os estados.

dá uma olhada no manual, e se for diferente você vai ter que mudar dentro da classe Envio.

 

dá uma olhada também se o seu XML é valido:

 

http://www.sefaz.rs.gov.br/NFE/NFE-VAL.aspx

 

flw.

Share this post


Link to post
Share on other sites

Olá Jair !!!

td bem ??

 

Neste casoo consegui descobrir o que era.. era a assinatura digital A3 que estava mal instalada nomeu computador .. depois da instalação foi acusado o erro no link de teste de homologação... mas ficou tudo ok..

 

para testar estou tentando validar pelo arquivo de status do serviço mas está dando a seguinte mensagem de erro :

 

?Err.Description

Server did not recognize the value of HTTP Header SOAPAction: /nfeStatusServicoNF.

 

Saberia me posicionar o que está errado ??

 

Já acessei o link do web service e conferi o layout e nada difere do que está no seu código...

 

Você teria msn ? ?

 

Mais uma vez agradeço pela atenção....

Share this post


Link to post
Share on other sites

Então Shelly,

 

o problema muito provavelmente se trata de que essa função nfeStatusServicoNF, não exista na sua sefaz.

você precisa ver no manual, qual é a relação de funções disponíveis no webservice da sua sefaz e alterar

na classe Envio.

 

flw.

 

observe também os RequestNamespace e ResponseNamespace

tipo, pode ser que o seu seja algo como: http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico/nfeStatusServicoNF

 

consulta no manual

 

flw.

Share this post


Link to post
Share on other sites

Olá Jair...

 

Não tenho muita experiência com web service por isto meu desespero...

Já li o manual de integração inteiro e não achei nada sobre o erro...

Se eu acesso o link abaixo de homologação com meu token funciona certinho ...

Quando tento rodar pela minha aplicação continua dando o mesmo erro : Server did not recognize the value of HTTP Header SOAPAction: /nfeStatusServicoNF.

 

 

Link Homologação : https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico.asmx

 

<System.Web.Services.Protocols.SoapDocumentMethodAttribute(RequestNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico", ResponseNamespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico")> _

Public Function nfeStatusServicoNF(ByVal nfeCabecMsg As String, ByVal nfeDadosMsg As String) As String

'Dim results() As Object = Me.Invoke("nfeStatusServicoNF", New Object() {nfeCabecMsg, nfeDadosMsg})

Dim results() As Object = Me.Invoke("nfeStatusServico", New Object() {nfeCabecMsg, nfeDadosMsg})

Return results(0)

End Function

 

 

 

nfeStatusServicoNF

Retorno da Transmissão de Lote de NF-e

 

Test

The test form is only available for requests from the local machine.

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

 

POST /nfeweb/services/nfestatusservico.asmx HTTP/1.1

Host: homologacao.nfe.fazenda.sp.gov.br

Content-Type: text/xml; charset=utf-8

Content-Length: length

SOAPAction: "http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico/nfeStatusServicoNF"

 

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

<nfeStatusServicoNF xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico">

<nfeCabecMsg>string</nfeCabecMsg>

<nfeDadosMsg>string</nfeDadosMsg>

</nfeStatusServicoNF>

</soap:Body>

</soap:Envelope>

HTTP/1.1 200 OK

Content-Type: text/xml; charset=utf-8

Content-Length: length

 

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

<nfeStatusServicoNFResponse xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico">

<nfeStatusServicoNFResult>string</nfeStatusServicoNFResult>

</nfeStatusServicoNFResponse>

</soap:Body>

</soap:Envelope>

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

 

POST /nfeweb/services/nfestatusservico.asmx HTTP/1.1

Host: homologacao.nfe.fazenda.sp.gov.br

Content-Type: application/soap+xml; charset=utf-8

Content-Length: length

 

<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">

<soap12:Body>

<nfeStatusServicoNF xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico">

<nfeCabecMsg>string</nfeCabecMsg>

<nfeDadosMsg>string</nfeDadosMsg>

</nfeStatusServicoNF>

</soap12:Body>

</soap12:Envelope>

HTTP/1.1 200 OK

Content-Type: application/soap+xml; charset=utf-8

Content-Length: length

 

<?xml version="1.0" encoding="utf-8"?>

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">

<soap12:Body>

<nfeStatusServicoNFResponse xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico">

<nfeStatusServicoNFResult>string</nfeStatusServicoNFResult>

</nfeStatusServicoNFResponse>

</soap12:Body>

</soap12:Envelope>

 

 

 

<?xml version="1.0" encoding="utf-8" ?>

- <wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Serviço destinado ao atendimento de solicitações de consulta ao Cadastro de Contribuintes do ICMS da Secretaria de Fazenda Estatual.</wsdl:documentation>

- <wsdl:types>

- <s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro">

- <s:element name="consultaCadastro">

- <s:complexType>

- <s:sequence>

<s:element minOccurs="0" maxOccurs="1" name="nfeCabecMsg" type="s:string" />

<s:element minOccurs="0" maxOccurs="1" name="nfeDadosMsg" type="s:string" />

</s:sequence>

</s:complexType>

</s:element>

- <s:element name="consultaCadastroResponse">

- <s:complexType>

- <s:sequence>

<s:element minOccurs="0" maxOccurs="1" name="consultaCadastroResult" type="s:string" />

</s:sequence>

</s:complexType>

</s:element>

</s:schema>

</wsdl:types>

- <wsdl:message name="consultaCadastroSoapIn">

<wsdl:part name="parameters" element="tns:consultaCadastro" />

</wsdl:message>

- <wsdl:message name="consultaCadastroSoapOut">

<wsdl:part name="parameters" element="tns:consultaCadastroResponse" />

</wsdl:message>

- <wsdl:portType name="CadConsultaCadastroSoap">

- <wsdl:operation name="consultaCadastro">

<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Consulta Cadastro de Contribuintes do ICMS</wsdl:documentation>

<wsdl:input message="tns:consultaCadastroSoapIn" />

<wsdl:output message="tns:consultaCadastroSoapOut" />

</wsdl:operation>

</wsdl:portType>

- <wsdl:binding name="CadConsultaCadastroSoap" type="tns:CadConsultaCadastroSoap">

<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />

- <wsdl:operation name="consultaCadastro">

<soap:operation soapAction="http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro/consultaCadastro" style="document" />

- <wsdl:input>

<soap:body use="literal" />

</wsdl:input>

- <wsdl:output>

<soap:body use="literal" />

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

- <wsdl:binding name="CadConsultaCadastroSoap12" type="tns:CadConsultaCadastroSoap">

<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />

- <wsdl:operation name="consultaCadastro">

<soap12:operation soapAction="http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro/consultaCadastro" style="document" />

- <wsdl:input>

<soap12:body use="literal" />

</wsdl:input>

- <wsdl:output>

<soap12:body use="literal" />

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

- <wsdl:service name="CadConsultaCadastro">

<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Serviço destinado ao atendimento de solicitações de consulta ao Cadastro de Contribuintes do ICMS da Secretaria de Fazenda Estatual.</wsdl:documentation>

- <wsdl:port name="CadConsultaCadastroSoap" binding="tns:CadConsultaCadastroSoap">

<soap:address location="https://homologacao.nfe.fazenda.sp.gov.br/nfeWEB/services/cadconsultacadastro.asmx" />

</wsdl:port>

- <wsdl:port name="CadConsultaCadastroSoap12" binding="tns:CadConsultaCadastroSoap12">

<soap12:address location="https://homologacao.nfe.fazenda.sp.gov.br/nfeWEB/services/cadconsultacadastro.asmx" />

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

 

 

Share this post


Link to post
Share on other sites

O endereço dos webservices estão diferentes do que realmente é

 

o do status do serviço por exemplo é:

https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeStatusServico2.asmx

 

veja no link: http://www.fazenda.sp.gov.br/nfe/url_webservices/url_webservices.asp

 

isso pra São Paulo, não sei qual estado você está

Share this post


Link to post
Share on other sites

Oi jair !!!

Estou no estado de Sp sim..

 

Já alterei o request e response para http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2/nfeRecepcaoLote2

e o nome do metodo para NfeRecepcao mas agora recebo a mensagem de :

Possible SOAP version mismatch: Envelope namespace http://schemas.xmlsoap.org/soap/envelope/ was unexpected. Expecting http://www.w3.org/2003/05/soap-envelope.

 

Poderia me ajudar ?

Share this post


Link to post
Share on other sites

Olá Jair,

 

Essa tal DLL serviria para assinar um arquivo XML em uma aplicação Web, não estou me referindo a Intranet, estou a dias batendo cabeça para resolver este pepino.

 

Tem alguma ideia para compartilhar?

 

Desde já agradeço,

Share this post


Link to post
Share on other sites

Fábio não faço uso dessa DLL, mas estou atualmente em um projeto de NF-e

 

Envie exatamente qual é a sua dúvida que talvez eu já tenha passado pois meu projeto está operacional, e em fase de ajustes para transformá-lo em um serviço automático...

Share this post


Link to post
Share on other sites

Olá Daniel,

 

O meu projeto seria para a NFSe, em que a aplicação Web, geraria o XML e o sistemas chamasse aquela janela do Certificado Digital instalado na máquina do Cliente, após selecionar o Certificado o mesmo assinaria o XML, assim como acessar o WebService das Prefeituras.

 

O meu primeiro problema é, como abrir esta janela com uma aplicação Web, tenho pesquisado bastante e não consegui nenhuma solução, somente sugestões, como Applet Java, Flash e ActveX, soluções que rodam no máquina do cliente.

 

Assim quando resolver este problema com certeza terei outros, pois nunca trabalhei com acesso a WebService.

 

Espero que possa me dar uma luz.

 

Um abraço,

 

Fábio Freitas

Share this post


Link to post
Share on other sites

Olá Daniel,

 

O meu projeto seria para a NFSe, em que a aplicação Web, geraria o XML e o sistemas chamasse aquela janela do Certificado Digital instalado na máquina do Cliente, após selecionar o Certificado o mesmo assinaria o XML, assim como acessar o WebService das Prefeituras.

 

O meu primeiro problema é, como abrir esta janela com uma aplicação Web, tenho pesquisado bastante e não consegui nenhuma solução, somente sugestões, como Applet Java, Flash e ActveX, soluções que rodam no máquina do cliente.

 

Assim quando resolver este problema com certeza terei outros, pois nunca trabalhei com acesso a WebService.

 

Espero que possa me dar uma luz.

 

Um abraço,

 

Fábio Freitas

 

é a questão é ler o certificado ssl do navegador do cliente não estou trabalhand dessa forma pois meu aplicativo é desktop

 

procurarei algo e se achar te falo

Share this post


Link to post
Share on other sites

×

Important Information

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