Недопустимая схема ошибки службы 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">