Как получить доступ к биржевым заголовкам в xquery? - PullRequest
0 голосов
/ 14 июня 2019

Невозможно получить значения из заголовков обмена в xquery. Получение например Вызывается: net.sf.saxon.trans.XPathException: неразрешенная ссылка на переменную $ in.headers.sourceSystem. Здесь описано https://camel.apache.org/xquery.html

Я использую верблюд 2.21.3, работающий при загрузке Spring.

<route id="exampleRoute">
            <from uri="direct:start" />
            <setHeader headerName="sourceSystem">
                <constant>PR0</constant>
            </setHeader>
            <transform>
                <xquery>
                   element item {$in.headers.sourceSystem}
                </xquery>
            </transform>
            <to uri="mock:result"/>
        </route>

Ожидаемый результат будет выглядеть как

<item>PR0</item>

1 Ответ

1 голос
/ 14 июня 2019

Это очень просто, но может быть упомянуто в документации.

            <transform>
                <xquery>
                    declare variable $in.headers.sourceSystem external;
                    element item {$in.headers.sourceSystem}
                </xquery>
            </transform>
...