У меня проблемы с извлечением xml-репозитория из сценария предварительного запроса Postman.Мой предварительный запрос выглядит следующим образом:
pm.sendRequest({
url: "https://login.salesforce.com/services/Soap/u/40.0",
method: 'POST',
header: {
'soapaction': "Required",
'Content-Type': 'text/xml',
},
body: {
mode: 'raw',
raw: "<se:Envelope xmlns:se=\"http://schemas.xmlsoap.org/soap/envelope/\"> \
<se:Header/> \
<se:Body> \
<login xmlns=\"urn:partner.soap.sforce.com\"> \
<username>user</username> \
<password>password</password> \
</login> \
</se:Body> \
</se:Envelope>"
}
}, function (err, responseBody) {
console.log(pm.request.body);
var xmlTree = xml2Json(responseBody);
console.log(xmlTree);
console.log("sessionid: " + xmlTree['soapenv:Envelope']['soapenv:Body'].loginResponse.result.sessionId);
//pm.environment.set("sys_id", response.json().result.sys_id);
postman.setEnvironmentVariable("sessionid", xmlTree['soapenv:Envelope']['soapenv:Body'].loginResponse.result.sessionId);
});
Когда я смотрю на ответ в консоли Postman, я вижу правильный ответ, однако, когда я пытаюсь получить к нему доступ через "pm.request.body" или просто"responseBody" я получаю пустое / нулевое значение.
Ниже приведен ответ, который я вижу, и также отмечаю, что когда я вывожу в журнал, он пуст:
Есть мысли?
Кроме того, я могу сделать то же самое с URL-адресом, который отвечает полезной нагрузкой JSON, и, используя тот же метод, я могу извлечь ответ и работать со значениями.Кто-нибудь знает, есть ли что-то другое в XML-ответах?Или если они должны быть обработаны по-другому?