В сценарии постпроцессора мне нужен API вызовов. Я использую этот код:
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", "http://www.example.com/something", false );
xmlHttp.send( null );
Я получил эту ошибку:
ReferenceError: "XMLHttpRequest" не определен. на 8bb4dae5-0615-4f0c-8e60-26c8614a6bcc_Postprocessor: 65 (doScript) на 8bb4dae5-0615-4f0c-8e60-26c8614a6bcc_Postprocessor: 71 на com.mirth.connect.server.util.javascript.JavaScriptUtil.executeScript(JavaScriptUtil.java:547) в com.mirth.connect.server.util.javascript.JavaScriptUtil.executePostprocessorScripts(JavaScriptUtil.java:275) в com.mirth.connect.server.transformers.JavaScriptPostprocessor $ JavaScriptPostProcessorTask.doCall(JavaScriptPostprocessor.java:104) в com.mirth.connect.server.util.javascript.JavaScriptTask.call(JavaScriptTask.java:113) в java.util.concurrent.FutureTask.run (Неизвестный источник) в java.util.concurrent.ThreadPoolExecutor.runWorker (Неизвестный источник) в java. util.concurrent.ThreadPoolExecutor $ Worker.run (Неизвестный источник) в java.lang.Thread.run (Неизвестный источник)
Как импортировать XMLHttpRequest и использовать его в postprocesor javascript?
XMLHttpRequest - это нечто специфическое для веб-браузеров. Mirth Connect использует движок JavaScript под названием Mozilla Rhino, который не является движком, ориентированным на веб-браузер (поскольку MC не является браузером, очевидно).
Однако Rhino легко интегрируется с базовой JVM. В основном все, что вы можете сделать на Java, вы также можете сделать в JavaScript. Вместо этого используйте URLConnection:
var url = new java.net.URL('http://www.google.com');
var conn = url.openConnection();
var is = conn.getInputStream();
try {
var result = org.apache.commons.io.IOUtils.toString(is, 'UTF-8');
} finally {
is.close();
}