«Ошибка: не удалось проверить первый сертификат» и «код:» UNABLE_TO_VERIFY_LEAF_SIGNATURE «» для запроса SOAP в NextJS

#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': '*'
 

Но у меня все та же ошибка.

Кто-нибудь может помочь?