Недопустимая схема ошибки службы Watson Dialog для файла xml

Я использую 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' }

Я использую pizza dialog 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">

1 ответ

Попробуйте увеличить версию до WatsonDialogDocument_1.1.xsd. Вы также должны попытаться сначала отправить свой XML из REST-клиента. CURL или Rest Console. Просто чтобы убедиться, что проблема в XML, а не в коде.

Кстати, вам не нужен XSD-файл для выполнения POST.

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

Другие вопросы по тегам