2017-02-06 2 views
0

wir haben eine folgende Oozie E-Mail-AktionOozie E-Mail-Aktion Flucht Tags

<email xmlns="uri:oozie:email-action:0.1"> 
    <to>some-email</to> 
    <subject>some subject Failure</subject> 
    <body> 
     Error (Code) Message:(${wf:errorCode(wf:lastErrorNode())}) ${wf:errorMessage(wf:lastErrorNode())} 
    </body> 
</email> 

Der Inhalt der Fehlermeldung einen Text wie <init> haben. Dies verursacht die Oozie E-Mail-Aktion mit folgenden Fehlern fehlschlagen,

JDOMParseException: Error on line 36: The element type \"init\" must be terminated by the matching end-tag \"</init>\". 

ich nicht in der Lage könnte einen Weg zu finden, diese Zeichen zu entkommen. Jeder Vorschlag wäre hilfreich. Diese

Antwort

1

ist, weil der Körper ein Klartext sein müssen (siehe here)

Sie können andere EL functions verwenden einfache xml zu tun zu entkommen, indem Sie die replaceAll, oder Sie können den Körper zu utf-8 kodieren.

+0

danke für die Antwort. Dieses Problem wurde in der Clientversion von oozie 4.x behoben. In meinem Fall ist die Client-Version 3.x Ich ging auch den Pfad hinunter, um eine benutzerdefinierte EL-Funktion zu schreiben, die [escapexml] verwenden würde (https://commons.apache.org/proper/commons-lang/apidocs/org/ apache/commons/lang3/StringEscapeUtils.html # escapeXml10-java.lang.String-) Methode. – rajkumarts