2015-12-15 4 views
0

Я пытаюсь прочитать XML-файл, используя этап MQ в DS. Design - MQ -> XML Stage -> Seq Файл используетсяЧтение XML-файла с использованием MQ Stage в Datastage 9.1

XML File -

<?xml version="1.0" encoding="UTF-8"?> 
<note> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don't forget me this weekend!</body> 
</note> 

Процесс следовал -

1) Загрузка MQ с XML-файла 2) Определяется только 1 выход колонки содержащий этот XML из этапа MQ в DS 3) В сборке XML с использованием опции «String Set» 4) Предоставление файла XSD в корне документа 5) выбрана опция строгой проверки 6) Приведение источника в цель

Но его метания мне следующую error-

XML_1,0: 2015-12-14 09:43:40,801 Error [XML_Parser] [] Unable to parse the XML stream: <?xml version='1.0' encoding='UTF-8'?> 
2015-12-14 09:43:40,821 Error [XML_Parser] [] com.ibm.e2.xml.exceptions.XMLRuntimeException: CDIER0007E: An error occurred while reading input: language=XML, cause=javax.xml.stream.XMLStreamException: The root element is required in a well-formed document., systemId=null, line number=2, column number=1, step=XML_Parser, source=<?xml version='1.0' encoding='UTF-8'?>. 
XMLRuntimeException$FactoryImpl.errorWhenReadingXML() 13 
RuntimeNodeBase.consumeEvent() 752 
RuntimeNodeBase.consumeEventWithLogging() 2318 
RuntimeNodeBase.consumeAction() 482 
RuntimeNodeBase.execute() 339 
NodeExecutor.processOneEvent() 163 
XMLReaderUtils.runExecutorStreaming() 201 
XMLInputStreamingHandler.itemEnd() 44 
AbstractTraverser.handleEventForHandler() 663 
AbstractTraverser.handleEvent() 534 
ItemTraverser.handleCurrentState() 91 
AbstractTraverser.continueTraversal() 475 
AbstractTraverser.startTraversal() 463 
ItemTraverser.itemBegin() 122 
AbstractTraverser.handleEventForHandler() 668 
AbstractTraverser.handleEvent() 534 
VectorTraverser.handleCurrentState() 133 
AbstractTraverser.continueTraversal() 475 
AbstractTraverser.startTraversal() 463 
AbstractRuntimeFrame.runTraverser() 1426 
AbstractRuntimeFrame.runTraverser() 1409 
UserRuntimeOperatorAdapter.runTraverser() 138 
AbstractRuntimeOperator.runTraverser() 199 
AbstractXMLProviderRuntime.process() 254 
UserRuntimeOperatorFrame.process() 93 
OperatorController.callOperatorProcess() 314 
OperatorController.runOperator() 264 
OperatorController.doReadyToExecute() 168 
OperatorController.runDataStateTransistion() 123 
OperatorController.runTransitions() 85 
OperatorController.runOperatorStep() 63 
OperatorTask.runFrame() 86 
OperatorTask.execute() 40 
AbstractTask.run() 27 
ThreadPoolExecutor$Worker.runTask() 886 
ThreadPoolExecutor$Worker.run() 908 
Thread.run() 736 

Любая идея, что именно этим и как мы можем решить эту проблему?

Я попытался прочитать один и тот же файл XML с использованием этапа внешнего источника, и файл получил правильную обработку и данные загружены в файл Seq. Итак, это означает, что XML-файл правильный и соответствует XSD.

Но его не работает с MQ .. Любые предложения?

ответ

0

Действительно ли настоящий файл, показанный выше? (несколько строк в файле) Поскольку сообщение об ошибке читается так, как будто ему не нравится CRLF (линия возврата каретки) или LF (строка-канал), которые находятся в файле. Попробуйте удалить CRLF (или LF).

т.е.

<?xml version="1.0" encoding="UTF-8"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note> 

Или это может быть, что он хочет 'DOCTYPE' в строке 2. т.е.

<!DOCTYPE note> 

 Смежные вопросы

  • Нет связанных вопросов^_^