0

我正在使用 node.js 来使用 Watson Dialog 系统。我正在使用一个函数来创建一个新对话框,但是在代码的某个地方,我遇到了一个与读取的 xml 文件相关的奇怪错误

{ code: 400,
  error: 'Failed to import file. Possibly due to corrupt or invalid file or system error. - java.lang.IllegalStateException: reader must be on a START_ELEMENT event, not a -1 event',
  conversionLog: 'WARN: No valid xsd schema specified in XML header. Assuming version="WatsonDialogDocument_1.1".\n' }

我正在使用可作为对话系统测试示例的比萨对话 xml,因此我认为问题不在于文件无效。这是我用来创建对话框的代码。

  var params = {
  name: req.body.username,
  file: fs.createReadStream(__dirname+'/public/dialogs/users/'+req.body.username+'/'+req.body.username+'.xml')
  };

  dialog_service.createDialog(params, function(err, dialog) {
  if (err)
    console.log(err)
  else
    console.log(dialog);
  });

我还有 WatsonDialogDocument_1.0.xsd 文档与 xml 对话框文件位于同一文件夹中。在对话框的 xml 文件中,您还可以找到它

<dialog xsi:noNamespaceSchemaLocation="WatsonDialogDocument_1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4

1 回答 1

1

尝试将版本升级到 WatsonDialogDocument_1.1.xsd。您还应该尝试首先从 REST 客户端发布您的 xml。cURL 或休息控制台。只是为了确保问题出在 xml 而不是代码中。

顺便说一句,您不需要 XSD 文件来执行 POST。

<dialog xsi:noNamespaceSchemaLocation="WatsonDialogDocument_1.1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

于 2016-02-04T13:28:12.930 回答