2013-11-15 50 views
0

需要幫助來驗證傳入XML標記是否包含序列化數據。如果ir不包含,則必須發佈用戶定義的異常。這必須使用ESQL來實現。ESQL:Check其中一個傳入XML標記包含串行數據

例如:

<input_data> 
<source>ABCD</source> 
<key_data>incoming serialized data</key_data> 
</input_data> 

這裏Key_data應當驗證,以檢查其中是否包含比串行數據的其他任何東西。

回答

0

你如何定義序列化數據?您可以檢查數據中包含的東西用的東西沿着線:

IF InputRoot.XMLNSC.input_data.key_data IS NULL OR FIELDVALUE(InputRoot.XMLNSC.input_data) = '' THEN 
    THROW USER EXCEPTION MESSAGE 2951 VALUES('Data element was empty') 
END IF; 

如果ened實際檢查數據,那麼你需要的,如果該數據是「取代,如果條件與功能,能夠確定序列化數據「。例如,如果您想測試數據是否爲序列化的java對象,那麼您可以構建一個試圖反序列化對象並返回true/false的EXTERNAL Java函數。

最終代理並不知道您的序列化數據是什麼意思,因此您可以通過自己的應用程序代碼提供該上下文。

1
IF FIELDNAME(rootTagname.*:input_data) = 'input_data' THEN 

    -- do some thing as per your requirement 
ELSE 

    THROW USER EXCEPTION MESSAGE 'some number' VALUES ('no value received for input_data.'); 

end IF; 
+2

如果你添加了一些解釋會更好。 –

相關問題