我目前正在尝试使用 Watson Dialog 创建一个像虚拟代理这样的应用程序。我必须在这个 Watson 服务中使用 Node.js,但我以前从未使用过它,所以我慢慢来。目前,我可以使用 Java 调用对话服务来模拟用户。但是我想用Node.js调用Java来模拟Agent。
在 Watson Dialog 中,Agent 有许多句子写在一个文件中,例如dialog.xml
. 但相反,我希望我的代理根据用户的个人资料提出具体问题。
这就是我使用 Java 编写的 BRMS 工具的原因。我创建了一个.jar
并想调用它/public/demo.js
来填充变量response
:
var texts = dialog.conversation.response;
var response = texts.join('<br/>');
我试过这个/public/demo.js
:
var exec = require('child_process').exec;
var child = exec('java -jar C:\\PATH\\Example.jar',
function (error, stdout, stderr){
response += stdout;
if(error !== null){
console.log("Error -> "+error);
}
});
在另一个应用程序中使用该代码,它可以正常工作,我可以运行我的.jar
. 我敢肯定。但是一旦在我的 Bluemix 应用程序中编写,第一行就会让它崩溃。我是否遗漏了manifest.yml
文件中的某些内容?我需要更改配置吗?或者它可能来自demo.js
文件?
感谢您的帮助。