XML DSL ignores a missing <choice> element

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

XML DSL ignores a missing <choice> element

garrydias
This post was updated on .
(POST EDITED)
Hello guys

Consider this XML DSL:

                        <split id="split1">
                                <simple>${body.list}</simple>

                                        <when>
                                                <simple>'text' != ${in.header.text}</simple>
                                                <camel:to uri="log:Im Logging WHEN" />
                                        </when>
                                        <camel:otherwise>
                                                <camel:to uri="log:Im Logging OTHERWISE" />
                                        </camel:otherwise>

                        </split>

this DSL prints:
2003-05-24 16:06:35,496 INFO  [Im Logging WHEN]
2003-05-24 16:06:35,496 INFO  [Im Logging OTHERWISE]

The statement above is missing the <choice> element. The XML DSL bellow works properly:

                        <split id="split2">
                                <simple>${body.list}</simple>
                                <choice> 
                                        <when>
                                                <simple>'text' != ${in.header.text}</simple>
                                                <camel:to uri="log:Im Logging WHEN" />
                                        </when>
                                        <camel:otherwise>
                                                <camel:to uri="log:Im Logging OTHERWISE" />
                                        </camel:otherwise>
                                </choice>
                        </split>

Why split1 DSL does not raise an error instead of execute the two logs endpoints.