Rejeição: Cabeçalho - Falha no Schema XML
Pessoal
Estou desenvolvendo a rotina de Consulta de Status do Web Service - NFe, e esta dando o seguinte erro abaixo, alguém saberia o que pode estar acontecendo ?
erro : 242 - Rejeição: Cabeçalho - Falha no Schema XML
xml do cabeçario
<?xml version="1.0" encoding="UTF-8"?>
<nfeCabecMsg versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">
<versaoDados>2.00</versaoDados>
<cUF>SP</cUF>
</nfeCabecMsg>
xml de retorno do erro :
<retConsStatServ versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
<tpAmb>1</tpAmb>
<verAplic>SP_NFE_PL_006q</verAplic>
<cStat>242</cStat>
<xMotivo>Rejeição: Cabeçalho - Falha no Schema XML</xMotivo>
<cUF>35</cUF>
<dhRecbto>2014-12-01T12:59:47</dhRecbto>
</retConsStatServ>
Caso seja preciso posso enviar apenas a rotina, para poder identificar, o problema que esta ocorrendo.
Estou desenvolvendo a rotina de Consulta de Status do Web Service - NFe, e esta dando o seguinte erro abaixo, alguém saberia o que pode estar acontecendo ?
erro : 242 - Rejeição: Cabeçalho - Falha no Schema XML
xml do cabeçario
<?xml version="1.0" encoding="UTF-8"?>
<nfeCabecMsg versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">
<versaoDados>2.00</versaoDados>
<cUF>SP</cUF>
</nfeCabecMsg>
xml de retorno do erro :
<retConsStatServ versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
<tpAmb>1</tpAmb>
<verAplic>SP_NFE_PL_006q</verAplic>
<cStat>242</cStat>
<xMotivo>Rejeição: Cabeçalho - Falha no Schema XML</xMotivo>
<cUF>35</cUF>
<dhRecbto>2014-12-01T12:59:47</dhRecbto>
</retConsStatServ>
Caso seja preciso posso enviar apenas a rotina, para poder identificar, o problema que esta ocorrendo.
Controlesis Ltda
Curtidas 0
Respostas
Huidemar Costa
03/12/2014
Experimente assim :
<nfeCabecMsg versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">
<cUF>35</cUF>
<versaoDados>2.00</versaoDados>
</nfeCabecMsg>
No lugar de SP, você deve colocar o código do Estado.
A tabela está em:
http://www.sped.fazenda.gov.br/spedtabelas/AppConsulta/publico/aspx/ConsultaTabelasExternas.aspx?CodSistema=SpedFiscal
Você seleciona:
Pacote: tabela globais
Tabela: UF Código IBGE - Sigla
<nfeCabecMsg versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">
<cUF>35</cUF>
<versaoDados>2.00</versaoDados>
</nfeCabecMsg>
No lugar de SP, você deve colocar o código do Estado.
A tabela está em:
http://www.sped.fazenda.gov.br/spedtabelas/AppConsulta/publico/aspx/ConsultaTabelasExternas.aspx?CodSistema=SpedFiscal
Você seleciona:
Pacote: tabela globais
Tabela: UF Código IBGE - Sigla
GOSTEI 0
Controlesis Ltda
03/12/2014
Jaiminho
Então em outros testes que tinha feito, realmente estava o codigo, e lendo a documentação, acabei alterando para a sigla (string), e até mesmo por outros comentarios, mais mesmo utilizando tanto a sigla como codigo dá o mesmo erro, o que poderia ser além disto ?
Então em outros testes que tinha feito, realmente estava o codigo, e lendo a documentação, acabei alterando para a sigla (string), e até mesmo por outros comentarios, mais mesmo utilizando tanto a sigla como codigo dá o mesmo erro, o que poderia ser além disto ?
GOSTEI 0
Huidemar Costa
03/12/2014
Lá no Microsoft Visual, você foi na opção "Project/Add Web References" e colocou o endereço https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx ?
porque daí o "cara" consegue montar seu cabeçalho e você só precisa passar passar os dados mais ou menos assim:
porque daí o "cara" consegue montar seu cabeçalho e você só precisa passar passar os dados mais ou menos assim:
nfeStatus.NfeStatusServico2 servico = new nfeStatus.NfeStatusServico2();nfeStatus.nfeCabecMsg cabecalho = new nfeStatus.nfeCabecMsg();cabecalho.cUF=35;cabecalho.versaoDados = "2.00";
GOSTEI 0
Controlesis Ltda
03/12/2014
Jaiminho
É que no caso ai, ele está utilizando serialização, você teria como me enviar um exemplo simples de um arquivo xml de cabeçalho, mais que seja valido, para que possa tirar uma outra dúvida, relacionado ao problema que estou tendo, é possivel ?
É que no caso ai, ele está utilizando serialização, você teria como me enviar um exemplo simples de um arquivo xml de cabeçalho, mais que seja valido, para que possa tirar uma outra dúvida, relacionado ao problema que estou tendo, é possivel ?
GOSTEI 0
Huidemar Costa
03/12/2014
Exemplo de como deve ficar o cabeçalho
<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:Header>
<nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">
<cUF>35</cUF>
<versaoDados>2.00</versaoDados>
</nfeCabecMsg>
</soap12:Header>
<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:Header>
<nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">
<cUF>35</cUF>
<versaoDados>2.00</versaoDados>
</nfeCabecMsg>
</soap12:Header>
GOSTEI 0
Controlesis Ltda
03/12/2014
Pessoal
O problema acima acabei resolvendo da forma abaixo :
Public Function ConsultaNFe_2(ByVal NotaConsulta As String, ByRef icRetornoxml As String) As String
Dim icRetorno As String = String.Empty
Dim objCertificado As X509Certificate2
Dim xmlDados As New XmlDocument
Dim xmlRetorno_STR As String = String.Empty
Dim xmlResultado As XmlNode
Dim StrRetNotax As RetEnvio = Nothing
Try
objCertificado = SelecionarCertificado("")
Dim wsCab As New nfeCabecMsg
wsCab.cUF = 35
wsCab.versaoDados = "2.00"
Dim wsMsg As New NfeStatusServico2("https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx", "SP")
wsMsg.ClientCertificates.Add(objCertificado)
xmlDados.LoadXml("<?xml version=""1.0"" encoding=""utf-8""?><consStatServ xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""2.00""><tpAmb>1</tpAmb><cUF>35</cUF><xServ>STATUS</xServ></consStatServ>")
wsMsg.nfeCabecMsgValue = wsCab
xmlResultado = wsMsg.nfeStatusServicoNF2(xmlDados)
For Each nodeX1X As XmlNode In xmlResultado.ChildNodes
For Each nodeX2X As XmlNode In nodeX1X.ChildNodes
Select Case nodeX1X.Name
Case "tpAmb"
StrRetNotax.tpAmb = nodeX2X.InnerText
Case "verAplic"
StrRetNotax.verAplic = nodeX2X.InnerText
Case "cStat"
StrRetNotax.cStat = nodeX2X.InnerText
Case "xMotivo"
StrRetNotax.xMotivo = nodeX2X.InnerText
Case "cUF"
StrRetNotax.cUF = nodeX2X.InnerText
Case "dhRecbto"
StrRetNotax.dhRecbto = nodeX2X.InnerText
Case "tMed"
StrRetNotax.tMed = nodeX2X.InnerText
End Select
Next
Next
O problema acima acabei resolvendo da forma abaixo :
Public Function ConsultaNFe_2(ByVal NotaConsulta As String, ByRef icRetornoxml As String) As String
Dim icRetorno As String = String.Empty
Dim objCertificado As X509Certificate2
Dim xmlDados As New XmlDocument
Dim xmlRetorno_STR As String = String.Empty
Dim xmlResultado As XmlNode
Dim StrRetNotax As RetEnvio = Nothing
Try
objCertificado = SelecionarCertificado("")
Dim wsCab As New nfeCabecMsg
wsCab.cUF = 35
wsCab.versaoDados = "2.00"
Dim wsMsg As New NfeStatusServico2("https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx", "SP")
wsMsg.ClientCertificates.Add(objCertificado)
xmlDados.LoadXml("<?xml version=""1.0"" encoding=""utf-8""?><consStatServ xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""2.00""><tpAmb>1</tpAmb><cUF>35</cUF><xServ>STATUS</xServ></consStatServ>")
wsMsg.nfeCabecMsgValue = wsCab
xmlResultado = wsMsg.nfeStatusServicoNF2(xmlDados)
For Each nodeX1X As XmlNode In xmlResultado.ChildNodes
For Each nodeX2X As XmlNode In nodeX1X.ChildNodes
Select Case nodeX1X.Name
Case "tpAmb"
StrRetNotax.tpAmb = nodeX2X.InnerText
Case "verAplic"
StrRetNotax.verAplic = nodeX2X.InnerText
Case "cStat"
StrRetNotax.cStat = nodeX2X.InnerText
Case "xMotivo"
StrRetNotax.xMotivo = nodeX2X.InnerText
Case "cUF"
StrRetNotax.cUF = nodeX2X.InnerText
Case "dhRecbto"
StrRetNotax.dhRecbto = nodeX2X.InnerText
Case "tMed"
StrRetNotax.tMed = nodeX2X.InnerText
End Select
Next
Next
GOSTEI 0
Controlesis Ltda
03/12/2014
Pessoal
Uma dúvida no cabeçalho não precisa passar o ambiente de trabalho, como funciona a questão da passagem do ambiente dentro do cabeçalho (cabecmsg) ?
Uma dúvida no cabeçalho não precisa passar o ambiente de trabalho, como funciona a questão da passagem do ambiente dentro do cabeçalho (cabecmsg) ?
GOSTEI 0