FórumCategoria: Fórum - Perguntas e RespostasLote não recebido – MS0030 Evento 4020
Guilherme Gomes do Nascimento perguntou há 2 anos

Bom dia a todos, estou tomando um erro quando vou enviar meu xml para API, não sei se estou enviando de maneira correta, mas me retorna o seguinte erro: 
‘A estrutura do arquivo XML está em desconformidade com o esquema XSD. Esquema de lote inválido’
Estou tentando enviar um 4020, alguém pode me ajudar?

Guilherme Gomes do Nascimento respondeu há 2 anos

não estou conseguindo subir meu xml com todas as tags :/

Guilherme Gomes do Nascimento respondeu há 2 anos

vou enviar o meu xml aqui em baixo:

1

10535534

1

2023-02

2

1

2.01.01

1

10535534

1

10535534

07432517001847

1

1

10001

bla bla bla

12006

bla bla bla

10004

bla bla bla

2022-09-12

123,12

2

22342342432424

23

S

83

2022-02-20

3.123,12

1

23456432345675

23

N

80

2022-02-20

3.123,12

1

23456432345675

23

N

80

1,00

0,11

exemplo

exemplo

exemplo

Matheus de Mello respondeu há 2 anos

Sim as versões estão corretas, manda o xml talvez posso te ajudar

Guilherme Gomes do Nascimento respondeu há 2 anos

certo, qual versão eu deveria usar?
para enviar o lote assincrono estou usando a versão v1_00_00
e a versão do evento 4020 estou usando v2_01_01, e a tag verProc estou usando 2.01.01
estas versões estão corretas?

Matheus de Mello respondeu há 2 anos

seu xml esta invalido e pode ser inúmeros fatores.
numero da versão, tag ou propriedades inválidas

2 Respostas
Melhor resposta
Matheus de Mello respondeu há 2 anos


<Reinf xmlns="http://www.reinf.esocial.gov.br/schemas/envioLoteEventosAssincrono/v1_00_00">
<envioLoteEventos>
<ideContribuinte>
<tpInsc>1</tpInsc>
<nrInsc>00000000</nrInsc>
</ideContribuinte>
<eventos>
<evento Id="ID1000000000000002023022714562701805">
<Reinf xmlns="http://www.reinf.esocial.gov.br/schemas/evt4080RetencaoRecebimento/v2_01_01">
<evtRetRec id="ID1000000000000002023022714562701805">
<ideEvento>
<indRetif>1</indRetif>
<perApur>2023-02</perApur>
<tpAmb>2</tpAmb>
<procEmi>1</procEmi>
<verProc>2.1.01</verProc>
</ideEvento>
<ideContri>
<tpInsc>1</tpInsc>
<nrInsc>00000000</nrInsc>
</ideContri>
<ideEstab>
<tpInscEstab>1</tpInscEstab>
<nrInscEstab>00000000000105</nrInscEstab>
<ideFont>
<cnpjFont>00000000000</cnpjFont>
<ideRend>
<natRend>20001</natRend>
<observ>TESTE</observ>
<infoRec>
<dtFG>2023-02-01</dtFG>
<vlrBruto>100,00</vlrBruto>
<vlrBaseIR>100,00</vlrBaseIR>
<vlrIR>3,00</vlrIR>
</infoRec>
</ideRend>
<ideRend>
<natRend>20002</natRend>
<observ>TESTE</observ>
<infoRec>
<dtFG>2023-02-01</dtFG>
<vlrBruto>100,00</vlrBruto>
<vlrBaseIR>100,00</vlrBaseIR>
<vlrIR>3,00</vlrIR>
</infoRec>
</ideRend>
</ideFont>
</ideEstab>
</evtRetRec>

</Reinf>
</evento>

</eventos>
</envioLoteEventos>
</Reinf>

Matheus de Mello respondeu há 2 anos

Show de bola, parabéns. Realmente retorna em processamento. Ao consultar o protocolo vc terá o retorno do r9005.
Deixa o status deste post como resolvido.
abs

Guilherme Gomes do Nascimento respondeu há 2 anos

matheus, muito obrigado pela sua ajuda, o meu xml agora está em processamento, aparentemente consegui receber o lote, e era erro de comunicação mesmo, não estava conseguindo mandar como xml mesmo estando application/xml, mas acabei mudando o PostAsXmlAsyn para PostAsync
var nulo = new StringContent(xmlDigitado, Encoding.UTF8, “application/xml”); //transformando xml em string content e deixando o mediatype como xml

var xm = _client.PostAsync(ObterUrlAsync(), nulo).Result.Content.ReadAsStringAsync();

Guilherme Gomes do Nascimento respondeu há 2 anos

e o PostAsXmlAsync envia sim o xml no body

Guilherme Gomes do Nascimento respondeu há 2 anos

bom, testei novamente com algumas alterações, e a API me retornou o código 422(Lote recebido possui inconsistências. XML retornado com as inconsistências do lote)
mas ele não fala quais são essas inconsistências, minha geração do lote do xml está perfeita, igual o seu xml, mas o xml do evento 4020 talvez esteja com erro, não tenho certeza

Matheus de Mello respondeu há 2 anos

Precisa saber se este método PostAsXmlAsync envia no corpo da requisição http o xml

Matheus de Mello respondeu há 2 anos

na documentação eles pedem para que o xml vá no corpo da requisição http, veja se o seu esta fazendo assim.

Guilherme Gomes do Nascimento respondeu há 2 anos

mexi em bastante coisa no meu código, mudei a maneira que faço os blocos que precisam de loop, mas mesmo assim ainda estou com erro de desconformidade: Esquema de lote inválido.
você disse que pode ser o meu meio de comunicação, eu fiquei em dúvida
eu consulto a api da seguinte maneira:
var xm = await _client.PostAsXmlAsync(“https://pre-reinf.receita.economia.gov.br/recepcao/lotes”, xmlDigitado).Result.Content.ReadAsStringAsync();
return xm;
sendo xmlDigitado o xml que montei anteriormente

Guilherme Gomes do Nascimento respondeu há 2 anos

muito obrigado matheus, irei comparar com meu xml

Matheus de Mello respondeu há 2 anos

se persistir a mesma msg é que o meio seu de comunicação deve esta errada para e ele não entende que é um xml

Matheus de Mello respondeu há 2 anos

compare com o meu e veja se encontra alguma diferença, este é xml que já transmiti de exemplo. troquei apenas o cnpj e tirei a assinatura.

Guilherme Gomes do Nascimento respondeu há 2 anos

1

10535534

1

2023-02

2

1

2.01.01

1

10535534

1

10535534

07432517001847

1

1

10001

bla bla bla

12006

bla bla bla

10004

bla bla bla

2022-09-12

123,12

2

22342342432424

23

S

83

2022-02-20

3.123,12

1

23456432345675

23

N

80

2022-02-20

3.123,12

1

23456432345675

23

N

80

1,00

0,11

exemplo

exemplo

exemplo