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

.NET

Automação Comercial

03/12/2014

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

Curtidas 0

Respostas

Huidemar Costa

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
GOSTEI 0
Controlesis Ltda

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 ?
GOSTEI 0
Huidemar Costa

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

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 ?
GOSTEI 0
Huidemar Costa

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>
GOSTEI 0
Controlesis Ltda

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
GOSTEI 0
Controlesis Ltda

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) ?
GOSTEI 0
POSTAR