Rejeição: Cabeçalho - Falha no Schema XML

03/12/2014

0

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.
Controlesis Ltda

Controlesis Ltda

Responder

Posts

03/12/2014

Huidemar Costa

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
Responder

03/12/2014

Controlesis Ltda

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 ?
Responder

04/12/2014

Huidemar Costa

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:
nfeStatus.NfeStatusServico2 servico = new nfeStatus.NfeStatusServico2();nfeStatus.nfeCabecMsg cabecalho = new nfeStatus.nfeCabecMsg();cabecalho.cUF=35;cabecalho.versaoDados = "2.00";
Responder

04/12/2014

Controlesis Ltda

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 ?
Responder

04/12/2014

Huidemar Costa

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>
Responder

02/03/2015

Controlesis Ltda

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
Responder

07/03/2015

Controlesis Ltda

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) ?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar