У меня есть файл действий, в котором запускается вызов 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. Я что-то упустил? Любая помощь приветствуется.