Я использую JMeter 3.2.
Мое требование - прочитать XML-файл с диска, заменить некоторые теги динамическими значениями, чтобы каждый поток отправлял уникальную загрузку XML-файла (НЕ SOAP-запрос). Следующий код в сэмплере JSR223 прекрасно работает, когда я пытаюсь загрузить новый файл через POST, используя сэмплер http с файлом $ {newfilename} text / xml.
import org.apache.commons.io.FileUtils;
try {
String content = FileUtils.readFileToString(new File("E:/test.xml"));
content = content.replaceAll("SUB_ID", "${__UUID}");
content = content.replaceAll("ABN_ID", "${empabn}");
content = content.replaceAll("EMPNAME", "${empname}");
vars.put("content", content);
FileUtils.writeStringToFile(new File("E:/testnew${empname}.xml"), content);
}
catch (Throwable ex) {
log.info("What happened?", ex);
throw ex;
}
Вместо того, чтобы снова записывать на диск и загружать снова, как я могу отправить содержимое строки 'content' как часть тела запроса? Я просмотрел много постов, в которых говорится о входных и выходных потоках, но они сбивают с толку. Когда я пытаюсь отправить только $ {content} в теле, приложение выдает следующую ошибку:
HTTP Status 500 - Could not write JSON: Name is null (through reference chain: com.xxx.xxx.datafile.rest.DataFileResponse["validationStatus"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Name is null (through reference chain:
Ценю вашу помощь.