2017-02-06 47 views
0

我們有以下Oozie的電子郵件操作Oozie的電子郵件行動逃生標籤

<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> 

錯誤消息的內容有像<init>一些文字。這會導致oozie電子郵件操作失敗並出現以下錯誤,

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

我無法找到逃避這些字符的方法。任何建議都會有幫助。

回答

1

這是因爲身體需要一個純文本(見here

您可以使用其他EL functions做簡單的XML使用replaceAll逃逸或者你可以將身體編碼成UTF-8。

+0

感謝您的回覆。看起來,這個問題在oozie 4.x客戶端版本中得到修復。在我的情況下,客戶端版本是3.xI也走了寫一個自定義EL函數的路徑,該函數將使用[escapexml](https://commons.apache.org/proper/commons-lang/apidocs/org/ apache/commons/lang3/StringEscapeUtils.html#escapeXml10-java.lang.String-)方法。 – rajkumarts