我目前正在尝试使用Watson Dialog创建类似虚拟代理的应用程序。我必须在这个Watson服务中使用Node.js,但我之前从未使用过它,所以我花了很多时间。 现在,我可以使用Java调用对话服务来模拟用户。但我想使用Node.js来调用Java来模拟代理。
在Watson Dialog中,代理有许多句子写在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
文件?
感谢您的帮助。