#soap #next.js #client-certificates
Вопрос:
Я делаю запрос POST к API SOAP, чтобы вернуть некоторые значения. Я кодирую в NextJS с помощью машинописного текста. Я использую пакет «легкий запрос на мыло». Когда я выполняю тот же запрос в SoapUI, все работает нормально. Но когда я выполняю свой запрос в коде, я получаю следующие ошибки:
<ref *1> Error: unable to verify the first certificate
at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)
at TLSSocket.emit (node:events:394:28)
at TLSSocket._finishInit (node:_tls_wrap:944:8)
at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12) {
code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
Это мой код для машинописи:
import soapRequest from 'easy-soap-request';
const url = 'API-url'
const sampleHeaders = {}
const xml = `
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="url">
<soapenv:Header/>
<soapenv:Body>
<v1:myRequest>
<v1:CountryID>NO</v1:CountryID>
<v1:CRMID>111</v1:CRMID>
</v1:myRequest>
</soapenv:Body>
</soapenv:Envelope>`;
async function makeRequest() {
const { nordeaResponse } = await soapRequest({
url: url,
headers: sampleHeaders,
xml: xml,
});
const { headers, body, statusCode } = nordeaResponse;
console.log(headers);
console.log(body);
console.log(statusCode);
};
makeRequest();
Я попробовал пару вещей, таких как настройка rejectUnauthorized: false
, выполнение require('https').globalAgent.options.ca = require('ssl-root-cas/latest').create();
и настройка
'Access-Control-Allow-Origin': '*'
Но у меня все та же ошибка.
Кто-нибудь может помочь?