2013-11-15 9 views
0

들어오는 XML 태그 중 하나가 직렬화 된 데이터를 포함 아닌지 확인하는 데 도움이 필요 포함되어 있습니다. ir가 포함되지 않으면 사용자 정의 예외를 Throw해야합니다. 이것은 ESQL을 사용하여 달성해야합니다.ESQL : 들어오는 XML 태그 중 하나를 확인이 serialzed 데이터

예 :

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

직렬화 된 데이터 "인지 아닌지를 판별합니다. 예를 들어 데이터가 직렬화 된 Java 객체인지 테스트하려면 EXTERNAL Java 함수를 빌드하여 객체를 비 직렬화하고 true/false를 리턴 할 수 있습니다.

는 궁극적으로 브로커 그래서 당신은 자신의 응용 프로그램 코드를 통해 해당 컨텍스트를 제공 할 수 있으므로 비록 당신이 직렬화 된 데이터가 무엇을 의미하는지 알고 나던.

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

당신은 몇 가지 설명을 추가 한 경우 그것은 더 좋을 것이다. –