[
https://issues.apache.org/jira/browse/OOZIE-2400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15154028#comment-15154028
]
Roman Krüger commented on OOZIE-2400:
-------------------------------------
Thank you both very much for solving this issue!
> Workflow xml configuration parser cannot deal with namespace prefix
> -------------------------------------------------------------------
>
> Key: OOZIE-2400
> URL: https://issues.apache.org/jira/browse/OOZIE-2400
> Project: Oozie
> Issue Type: Bug
> Components: core
> Affects Versions: trunk, 4.1.0, 4.2.0, 4.3.0
> Environment: Oracle Linux 6.6, Oozie 4.1.0, Cloudera CDH 5.4.2
> Reporter: Roman Krüger
> Assignee: Lars Francke
> Labels: easyfix
> Fix For: trunk
>
> Attachments: OOZIE-2400-1.patch, OOZIE-2400.2.patch,
> OOZIE-2400.3.patch
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When running a java action and a spark action via an oozie workflow xml, the
> xml contains multiple namespaces (e.g. uri:oozie:workflow:0.5 and
> uri:oozie:spark-action:0.1).
> Thus the elements need to be prefixed by the namespace prefix. But when
> running this workflow, the configuration parser throws the exception "*JA009:
> bad conf file: top-level element not <configuration>*".
> The bug is located in class org.apache.oozie.util.XConfiguration in methods
> "parseDocument(Document doc)" and "processNodes(Element root)". The xml tags
> here are retrieved via "getTagName()", (which gets the full tag name) and
> compared against string constants like "configuration". So this fails in case
> the tag contains a namespace prefix and it seems there is no workaround!
> Here is an easy fix for this. All calls of "getTagName()" in these 2 methods
> can be replaced by "getLocalName()".
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)