Я использовал SOAP API для получения ответа. И теперь у меня длинный XML ответ. Я попытался преобразовать XML в JSON и затем прочитать. Но это не могло работать. Затем я попытался xml2 js, xmldom и filter xml, чтобы прочитать атрибуты. Но это не сработало.
XML Ответ.
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="URI" />
</eb:From>
<eb:To>
<eb:PartyId eb:type="URI" />
</eb:To>
<eb:CPAId>36465</eb:CPAId>
<eb:ConversationId>4767547547745757</eb:ConversationId>
<eb:Service eb:type="sabreXML">Session</eb:Service>
<eb:Action>SessionCreateRS</eb:Action>
<eb:MessageData>
<eb:MessageId>45757457547</eb:MessageId>
<eb:Timestamp>2020-04-29T12:13:28</eb:Timestamp>
<eb:RefToMessageId>63465653634ffghfghfghf</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">bmkfdkdgkdskmlskfsdfpskmfl</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<SessionCreateRS xmlns="http://www.opentravel.org/OTA/2002/11" version="1" status="Approved">
<ConversationId>4767547547745757</ConversationId>
</SessionCreateRS>
</soap-env:Body>
</soap-env:Envelope>
** Обновление
Как я уже говорил, я пытался преобразовать XML в JSON, используя xml2jsn. И это дало мне полный ответ json. Но я не могу go для атрибута, который я хочу из-за этих символов, - (da sh) и: (двоеточие).
Я просто хочу получить значение "wsse: BinarySecurityToken". Тогда как можно go для wsse: BinarySecurityToken ??
var parseString = parseStringReq.parseString;
parseString(SetSoapTokenRes, function (err, result) {
let json_res = JSON.stringify(result, null, 4);
// json_res = json_res.replace(':', '_') //output: 'A D C'
res.end(json_res.soap-env:Envelope);
});