FórumCategoria: Fórum - Perguntas e RespostasAmbiente de testes EFD-Reinf – erro na transmissão HTTP 422
Paulo Fonseca Júnior perguntou há 2 anos

Boa tarde” Estou tentando transmitir para a Url de produção restrita (modo assíncrono) um evento mas estou recebendo a mensagem: “O servidor remoto retornou um erro: (422) Unprocessable Entity.”. Poderia ajudar? Veja a estrutura do XML de postagem:
<Reinf xmlns=”http://www.reinf.esocial.gov.br/schemas/envioLoteEventosAssincrono/v1_00_00″&gt;
    <loteEventos>
        <evento id=”ID1764840130000002022081509070700001″>
            <Reinf xmlns=”http://www.reinf.esocial.gov.br/schemas/envioLoteEventosAssincrono/v1_05_01″&gt;
                <evtServTom id=”ID1764840130000002022081509070700001″>
                    …
                </evtServTom>
                <Signature>
                    …
                </Signature>
            </Reinf>
        </evento>
    </loteEventos>
</Reinf>

Matheus de Mello respondeu há 2 anos

ReceberLoteEventos
loteEventos
Reinf
loteEventos
evento
Reinf
evtServTom

Matheus de Mello respondeu há 2 anos

“”
” ”
” ”
” ”
” ”
” ”
” “

Matheus de Mello respondeu há 2 anos
Matheus de Mello respondeu há 2 anos

Tenta seguir esta ordem. A ordem está certa, mas o meu conteúdo está errado.

2 Respostas
Luciana Bueno respondeu há 2 anos

Paulo, o layout do envio no modo assíncrono é diferente. Você pode baixar o XSD no link http://sped.rfb.gov.br/arquivo/show/5977
Segue um exemplo:
<?xml version=”1.0″ encoding=”UTF-8″?>
<Reinf xmlns=”http://www.reinf.esocial.gov.br/schemas/envioLoteEventosAssincrono/v1_00_00″&gt;
    <envioLoteEventos>
      <ideContribuinte>
        <tpInsc>1</tpInsc>
        <nrInsc>00000000</nrInsc>
      </ideContribuinte>
      <eventos>
        <evento Id=”ID0000000000000000000000000000000000″>
          <Reinf xmlns=”http://www.reinf.esocial.gov.br/schemas/evt4099FechamentoDirf/v2_01_01″&gt;
            <evtFech id=”ID0000000000000000000000000000000000″>
              …
            </evtFech>
            <Signature xmlns=”http://www.w3.org/2000/09/xmldsig#”&gt;
              ….
            </Signature>
          </Reinf>
        </evento>
      </eventos>
    </envioLoteEventos>
</Reinf>

Edimilson Mendes Guimaraes Farias respondeu há 2 anos

Bom dia Paulo, estou fazendo um dev para empresa e estou com muita dificultado de enviar o r1000 no modelo assincrono na v2. Seria possivel você postar um exemplo aqui se um item postado a receita? Muito obrigado

Paulo Fonseca Júnior respondeu há 2 anos

Olá Luciana! Realmente precisei fazer correções no layout. Obrigado pela dica.

Para ajudar quem possa estar com a mesma dificuldade relato que o Erro 422 (U}nprocessable Entity), na linguagem C#, pode ser ultrapassado utilizando a instrução Catch (WebException ex) ao invés de utilizar a instrução Catch(Exception ex) após a tentativa de download da resposta XML dos servidores da RFB.

Olhe a solução 2 transcrita abaixo de https://9to5answer.com/webexception-how-to-get-whole-response-with-a-body

try {
WebClient client = new WebClient();
client.Encoding = Encoding.UTF8;
string content = client.DownloadString(“https://sandiegodata.atlassian.net/wiki/pages/doaddcomment.action?pageId=524365”);
Console.WriteLine(content);
Console.ReadKey();
} catch (WebException ex) {
var resp = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd();
Console.WriteLine(resp);
Console.ReadKey();
}

Boa sorte!

Renata Rovina respondeu há 2 anos

Paulo,
Tenho a comunicação do REINF síncrona, trabalho com C#, não estou conseguindo fazer a assíncrona, estou com o prazo. Você poderia gentilmente ceder seu código, ou me ajudar nesse? Muito agradecida desde já.
var handler = new WebRequestHandler();
handler.ClientCertificates.Add(cert);
HttpClient client;
client = new HttpClient(handler);
client.BaseAddress = new Uri(“https://pre-reinf.receita.economia.gov.br/recepcao/lotes&#8221;);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/xml”));
var httpContent = new StringContent(elemDoc.ToString(), Encoding.UTF8, “application/xml”);
HttpResponseMessage response = await client.PostAsync(client.BaseAddress.ToString(), httpContent);

Paulo Fonseca Júnior respondeu há 2 anos

Olá Renata, infelizmente a empresa para a qual eu trabalho não permite publicação do código. Sinto muito.