You can translate the question and the replies:

XML Datasource unable to "Create Base View"

Followed the following: Created & Saved XML datasource with "GET" method for external "HTTP Client" url, with Proxy as "Default" and Authentication as "Basic" and provided correct userID and Password. I am able to Save and do test connection successfully. But, while creating "Create Baseview", gets error. Below is the stacktrace from vdp log file. Please help resolve the issue. [RMI(152)-192.168.56.1-16] ERROR 2019-07-23T14:08:49.759 com.denodo.vdb.util.introspectionservice.actions.DescXMLSourceAction [] - The element type "link" must be terminated by the matching end-tag "</link>". org.xml.sax.SAXParseException: The element type "link" must be terminated by the matching end-tag "</link>". at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) ~[xercesImpl.jar:?] at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) ~[xercesImpl.jar:?] at com.denodo.vdb.catalog.wrapper.xml.metadata.MetadataBuilderXML.a(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.catalog.wrapper.xml.metadata.MetadataBuilderXML.createMetadata(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.util.introspectionservice.actions.DescXMLSourceAction.execute(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.interpreter.execution.DescSourceAction.a(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.interpreter.execution.DescSourceAction.exec(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.interpreter.execution.Action.run(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.interpreter.execution.processor.VDBActionProcessor.a(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.interpreter.execution.processor.VDBActionProcessor.d(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.interpreter.execution.processor.VDBActionProcessor.a(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.interpreter.execution.Action.start(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.interpreter.execution.ExecutionEngine.execute(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.interpreter.execution.ExecutionEngine.execute(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at com.denodo.vdb.vdbinterface.server.QueryExecutorImpl.executeStatement(Unknown Source) ~[denodo-vdp-server.jar:7.0.0] at sun.reflect.GeneratedMethodAccessor140.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_162] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_162] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:361) ~[?:1.8.0_162] at sun.rmi.transport.Transport$1.run(Transport.java:200) ~[?:1.8.0_162] at sun.rmi.transport.Transport$1.run(Transport.java:197) ~[?:1.8.0_162] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_162] at sun.rmi.transport.Transport.serviceCall(Transport.java:196) ~[?:1.8.0_162] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) ~[?:1.8.0_162] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) ~[?:1.8.0_162] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) ~[?:1.8.0_162] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_162] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) [?:1.8.0_162] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_162] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_162] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
user
23-07-2019 05:18:16 -0400

4 Answers

Hi, I was able to reproduce the same error as yours when an XML element tag in the data source is not closed. I would recommend you to check the source XML script if all the elements have a closing tag and then you will be able to create base view in the Virtual DataPort Administration Tool successfully. For more information, you could refer to the section, [XML Sources](https://community.denodo.com/docs/html/browse/7.0/vdp/administration/creating_data_sources_and_base_views/xml_sources/xml_sources#xml-sources) of Virtual DataPort Administration Guide. Hope this helps!
Denodo Team
24-07-2019 01:34:51 -0400
Wasn't expecting this kind of obvious answer! :) Before adding a question here, i have gone through all the open problem statements in this forum and none of them have a direct solution. The external API I am trying to mimic and import XML from, is not under my control. Also, please note that it works with Python, Java and browsers, but not with Denodo Express ! Is that intentional for Express to behave ? Since, you are able to reproduce it, please try with Java, Python and IE does that work ? If not, then the problem still persists. Desperately waiting for technical solution.
user
24-07-2019 02:11:25 -0400
Hi Team, I am able to get more info: We have to create a POC to do following: Use ALM REST API URL to.. **Step1**: Authenticate & get reponse key (LWSSO_COOKIE_KEY) using *http://<server>:<myport>/qcbin/authentication-point/authenticate* Issue: Not able to create XML or JSON datasource for above request and store the LWSSO_COOKIE_KEY value. **Step2 :** use LWSSO_COOKIE_KEY for use next REST API URL of ALM Issue : If above is doable, then how to use LWSSO_COOKIE_KEY as a part of new URL's Looking forward for help.
user
31-07-2019 04:48:19 -0400
Hi, The error cannot be ignored as this is the expected behaviour from Denodo Platform, as suggested earlier, you could check the source generated XML script to have a matching end-tag for all the elements. In general, Python & IE could parse and render XML content even without tags. Additionally, in Denodo while configuring the HTTP Client for XML or JSON data source, you could add Cookie values as HTTP headers. Please refer to the section [HTTP Path](https://community.denodo.com/docs/html/browse/7.0/vdp/administration/creating_data_sources_and_base_views/path_types_in_virtual_dataport/http_path#http-path) of Virtual DataPort Administration Guide for more information. If you need more clarifications and have a valid support account, I would recommend that you create a support case in the [Denodo Support Site](http://support.denodo.com/). Hope this helps!
Denodo Team
31-07-2019 10:03:39 -0400
You must sign in to add an answer. If you do not have an account, you can register here