J'essaye de lire un fichier XML en utilisant l'étape MQ dans DS. Design - MQ -> XML Stage -> Seq FichierLire un fichier XML en utilisant MQ Stage dans Datastage 9.1
fichier XML utilisé -
<?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>
processus suivi -
1) Chargement MQ avec le fichier XML 2) Définie seulement 1 colonne de sortie contenant ce XML de l'étape MQ dans DS 3) Dans l'assemblage XML, en utilisant l'option 'String Set' 4) Fournir le fichier XSD dans Document Root 5) Option Strict Validation sélectionnée 6) Amener la source à la cible
Mais sa me jetant le ERROR- suivant
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
Toute idée de ce qui est cela et comment pouvons-nous résoudre ce problème?
J'ai essayé de lire le même fichier XML en utilisant External Source Stage et le fichier a été analysé correctement et les données ont été chargées dans le fichier Seq. Donc, cela signifie que le fichier XML est correct et qu'il est conforme à la XSD.
Mais ce ne fonctionne pas avec le MQ .. Des suggestions ??