ax ios post вызов со сжатым xml вводом не возвращает ответ - PullRequest
0 голосов
/ 16 июня 2020

У меня есть файл действий, в котором запускается вызов ax ios post. Мой код выглядит так, как показано ниже.

RequestBody. xml - это сжатый xml с использованием gzip. PostMan возвращает ответ xml с теми же заголовками, которые я использовал в коде, но он выдает 500 Internal Server Error, когда я вызываю его от клиента.

import axios from 'axios';
import xml2js from 'xml2js';
import { RequestBody } from '../../src/RequestBody.xml.gz';

export const sendEfile = (count) => async dispatch => {

  const config = {
    headers: {
      'Content-Type': 'application/xml',
      'Accept': 'application/xml',
      'Content-Encoding': 'gzip'
    }
  };

  try {
    const start = Date.now();//send time

    const res = await axios.post(
      'https://example.com',
      RequestBody,
      config);
    const end = Date.now();

    const totalTime = end - start;

    const parseString = xml2js.parseString;
    parseString(res.data, (err, result) => {
        console.dir(result);
    });
    console.log(`Package sent at ${start}. Package received at ${end}. Total time for request ${count}: ${totalTime}`);

    dispatch({
      type: ADD_EFILE,
      payload: {
        totalTime,
        packageId: count,
        receiptTime: end
      }
    });

  } catch (err) {
    console.log('There was an error')
  }
}

XML, которое я пытаюсь сжать, выглядит как ниже. Внутри taxPayerList есть больше элементов taxPayer

<?xml version="1.0" encoding="UTF-8"?>
<filing>
  <taxPayerList>
    <taxPayer>
      <id>1</id>
      <name>Name 1</name>
    </taxPayer>
  </taxPayerList>
<valid>true</valid>
</filing>

Есть мысли о том, как заставить это работать? PostMan возвращает код состояния 200 с ответом XML с этими заголовками 'Content-Type': 'application / xml', 'Accept': 'application / xml', 'Content-Encoding': 'gzip' Но клиент возвращает 500. Я что-то упустил? Любая помощь приветствуется.

...