установитьПеременную("id", "42")+
установитьПеременную("requestxml", "<request ID=\"{id}\" reqType=\"BALANCE\"/>")+
вызвать.внешнийСервис("https://account/api/query", "POST").сЗаголовками(("Content-Type", "text/xml;charset=UTF-8"),("Accept", "text/xml"), ("Authorization", "Basic PASSWORD")).сТеломСообщения("{requestxml}").сохранитьРезультатКакСтроку("formResponse")+
выполнитьJs("""
function escapeHtml(text) { return text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'") }
var exit = {}
try {
// remove <?xml ... ?> header
formResponse = formResponse.replace(/<\?xml.+\?>|<!DOCTYPE.+]>/, '')
// parse XML
var parser = new marknote.Parser();
var doc = parser.parse(formResponse);
// extract info
exit.accountBalance = doc.getRootElement().getAttributeValue('accountBalance');
exit.formResponseHTML = escapeHtml(formResponse);
} catch(e) {
exit.error = 'error' + JSON.stringify({message: e.message, stack: e.stack});
}
exit;
""") +
комментарий("{error}") +
// комментарий("formResponseHTML: {formResponseHTML}") +
завершитьСШаблоном("Балланс: {accountBalance}")
завершить
|