Удалить и переопределить несколько атрибутов из XML-запроса на мыло перед отправкой - PullRequest
0 голосов
/ 02 мая 2019

В клиенте мыла узла я должен удалить xmlns: xsi и переопределить xmlns: tns с помощью xmlns: ser

Я много пробовал, но не смог этого сделать.Нужна помощь

const url = 'http://host:9001/xyz/abc/something?wsdl';

var wsdlOptions = {
    "overrideRootElement": {
        "namespace": "ser"
    },
    "envelopeKey": "soapenv",
    "useEmptyTag": true,
    "ignoredNamespaces": {
        "namespaces": ['tns', 'xsi'],
        "override": true
      }
};

soap.createClient(url, wsdlOptions, async function (err, client) {
    if (err) {
        console.log(err)
    } else {
        var args = {
            AccountNo: '751600412147',
            PaymentSource:'SuvidhaPayment'
        };
        client.getConsumerEnquiryDetails(args, function (err, result) {
            if (err) {
                console.log(JSON.stringify(err, null, 2));
            } else {
                console.log(result);
            }
        }); 
    }
});

Я ожидаю, что результат будет примерно таким:

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://service.collections.phoenix.com/">
    <soapenv:Body>
        <ser:getConsumerEnquiryDetails>
            <AccountNo>Mz9hvPk+osEI4MO3fiqbIA==</AccountNo>
            <PaymentSource>MlvdhUGnYrYyui0U1HcQYw==</PaymentSource>
        </ser:getConsumerEnquiryDetails>
    </soapenv:Body>
</soapenv:Envelope>

Но я получаю это с xmlns: xsi и xmlns: tns (вместо xmlns: ser)

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://service.collections.phoenix.com/">
    <soapenv:Body>
        <ser:getConsumerEnquiryDetails>
            <AccountNo>Mz9hvPk+osEI4MO3fiqbIA==</AccountNo>
            <PaymentSource>MlvdhUGnYrYyui0U1HcQYw==</PaymentSource>
        </ser:getConsumerEnquiryDetails>
    </soapenv:Body>
</soapenv:Envelope>
...