如何使用Java代码从Web服务中读取数据并在聊天机器人中打印



我的问题是我想从Web服务中阅读数据并将其打印在 聊天机器人。

Web服务将具有事件编号及其状态,我必须从WebService和Print中复制数据。我尝试下面的代码,但我不确定如何在对话聊天机器上打印此数据。

protected void doPost(HttpServletRequest request, HttpServletResponse 
response) throws IOException {
    String requestMessage = request.getParameter("message");
    String contextString = request.getParameter("context");
    JSONObject contextObject = new JSONObject();
    if(contextString != null) {enter code here
        contextObject = JSONObject.parseObject(contextString);
    }
    System.out.println("Context: ");
    System.out.println(contextObject);
    Map<String, Object> contextMap = Utility.toMap(contextObject);
    if(requestMessage == null || requestMessage.isEmpty()){
        requestMessage = "Greetings";
    }
    if(requestMessage == "1" || requestMessage == "merge id"){
       // throw new NullPointerException();
        requestMessage = "call";
try {
        URL e = new URL(
                "webservice url");
        HttpURLConnection conn = (HttpURLConnection) e.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Accept", "TEXT/PLAIN");
        if (conn.getResponseCode() != 200) {
            throw new RuntimeException("Failed : HTTP error code : " + 
conn.getResponseCode());
        }
        BufferedReader br = new BufferedReader(new 
InputStreamReader(conn.getInputStream()));
        System.out.println("Output from Server .... n");
        String output;

在应用程序代码中,您必须创建/维护一个名为JSON context的变量。作为该结构的一部分,您可以用值定义自己的变量。上下文传递给Watson与消息API的对话(直接或通过WATSON SDK(。

在Watson对话的工作区编辑器中,您现在可以访问这些上下文变量。这可能是对话框节点,响应文本中的条件的一部分,也可以是为上下文变量分配新值时。对于您的情况,这可能是一个简单的$ticket_details。有关详细信息,请参见此表达式参考。

此外,我编写了一个博客条目,该条目更多地解释了有关变量和链接到具有一些扩展示例的github存储库的链接。