如何在 nodejs 中创建格式错误的 XML(SOAP 请求)

How to create malformed XML (SOAP request) in nodejs

我的任务是生成格式错误的 SOAP 请求并检查我收到的错误响应类型。

例如:

const payload = `
    <?xml version="1.0" encoding="utf-8"?>
        <soap:Envelope 
            xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"                                      
            xmlns:test="urn:TEST"
        >
            <soap:Body>
                <test:GetOperatingDataValues 
                    xmlns:test="urn:TEST"                                            
                >
                    <test:ListId>1</test:ListId>
                </test:GetOperatingDataValues>
            </soap:Body>
       </soap:Envelope>`

现在,如果我将上述请求正文发送到后端服务器,例如:

const 结果=axios.post("backendServer", payload)

console.log(result) 将给出来自后端的响应(在本例中,来自 GetOperatingDataValues 函数的 listId 1 的响应)

现在,我必须以不同的方式修改该有效负载,例如删除结束标记、不同的开始和结束标记名称、从任何标记中删除“<”或从结束标记中删除“/”、不同的方法名称等并发送该负载并检查错误响应。

有什么方法可以将格式正确的 xml 修改为格式错误的 xml (在节点 js 中)。 我经历了不同的包,例如 xml2js、fast-xml-parser。但是这些包只是形成了正确的xml.

非常感谢任何帮助。

我原以为很明显,要创建 non-XML 文件,您不想使用 XML 工具。只需将 XML 视为字符串并应用正则表达式,例如将 </ 替换为 <.