发送 NodeJS ExpressJS 响应 HTTP 状态代码 200 + 负载

Send NodeJS ExpressJS Response HTTP Status code 200 + payload

我需要发回具有以下特征的确认响应:

我的尝试:

function handleMessage(req, res){

let otaRequestBuffer = [];
req.on('readable', () => {
    let data;
    while (data = req.read()) {
        otaRequestBuffer.push(data.toString());
    }
});

req.on('end', () => {
    let otaRequest = otaRequestBuffer.join('');

    try {
            let parser = new DOMParser();
            let xmlDoc = parser.parseFromString(otaRequest, "text/xml");
            let soapHeader = parseSoapHeader(xmlDoc);
            const soapAction = req.headers['soapaction'].toString();

const ack = `<?xml version='1.0' encoding='utf-8'?>
                              <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
                                <env:Header>
                                  <htnga:CorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">${soapHeader.correlationId}</htnga:CorrelationID>
                                  <htnga:RelatesToCorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">${soapHeader.correlationId}</htnga:RelatesToCorrelationID>
                                </env:Header>
                                <env:Body>
                                  <ns:HTNG_AcknowledgeReceipt xmlns:ns="http://htng.org/2014B"/>
                                </env:Body>
                              </env:Envelope>`

     res.sendStatus(200);
     res.write(ack);

     } catch (error) {
        console.log(error);
    }
});

但这只发送OK。我怎样才能同时发送 payload/body 和 HTTPS 状态代码 200.

感谢您的帮助。

这里是来自 API 提供商的文档的屏幕截图:

默认情况下 res.send() 的状态代码为 200,但对于其他状态代码,您可以使用

res.status(403).send("You are not authorised to view this")