从Conversation API调用外部REST Web服务

时间:2016-11-23 20:20:20

标签: node.js rest

我需要将用户输入转发到外部Web服务,并使用此服务的响应向Watson提供内容。

我已从https://github.com/watson-developer-cloud/conversation-simple推送示例代码,并从https://www.npmjs.com/package/node-rest-client添加了node-rest-client。我已创建相应的服务并绑定它,以便聊天应用程序正常工作。

然而,当我添加代码

    client.get("https://<my domain>.eu-gb.mybluemix.net/api/service/" + payload.input.text, function(data, response)) {
        payload.input.text = data.message;  
    }

无法启动应用程序,我收到部署在STAGING时失败的错误。

1 个答案:

答案 0 :(得分:0)

您是否更新了请求字符串的<my-domain>部分?

另外,你确定回调是正确的吗?通常,节点回调接受错误作为其第一个参数,并将其数据传递给以后的参数。

您可以尝试运行cf logs或转到您的bluemix门户网站,获取更深入的日志。它们可能包含失败的行,但有更详细的例外。

另一个问题可能是你似乎在异步回调中更新了一个全局变量。这不是个好主意!确保你理解异步。我推荐https://nodeschool.io/

有时,如果不更新依赖项,则会导致暂存错误。请务必使用npm install --save进行安装,以便package.json更新

如果您可以使用您正在使用的完整代码设置回购,那就太好了。这使我们更容易调试