Я использую ESB для маршрутизации данных между вызовами SQL и REST.Пока это работает нормально, однако, когда я хочу добавить опции к вызову REST.Например:
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
<camelContext xmlns="http://camel.apache.org/schema/blueprint">
<propertyPlaceholder id="placeholder"
location="file:${karaf.home}/etc/nl.test.astron.sql.cfg" />
<restConfiguration bindingMode="json" component="servlet">
<endpointProperty key="servletName" value="ASTRONServlet" />
</restConfiguration>
<rest path="/get/astrondata">
<get uri="">
<to pattern="InOut" uri="direct:get" />
</get>
</rest>
<route id="get_to_uri">
<from uri="direct:get"/>
<setHeader headerName="boundRaMin">
<simple>70</simple>
</setHeader>
<setHeader headerName="boundRaMax">
<simple>90</simple>
</setHeader>
<setHeader headerName="boundDecMin">
<simple>0</simple>
</setHeader>
<setHeader headerName="boundDecMax">
<simple>30</simple>
</setHeader>
<to uri="sql:{{sql.getDatabase}}?
outputType=SelectList&
greedy=true&
useIterator=false"/>
</route>
и код SQL:
sql.getDatabase=SElECT * FROM dbo.astron_data WHERE :#boundRaMin<ra AND
ra<:#boundRaMax AND :#boundDecMin<dec AND dec<:#boundDecMax
Как можно видеть здесь, boundRaMin, boundRaMax, boundDecMin, boundDecMax все устанавливаются в заголовках, однако яхочу сделать эти переменные в зависимости от опций, определенных в вызове rest.Например, следующий вызов:
http://localhost:8080/astron/get/astrondata?boundRaMin=value1&boundRaMax=value2&boundDecMin=value3&boundDecMax=value4
должен заполнить правильные значения value1 ... value4 в заголовках.Похоже, что эти параметры запроса не отображаются в заголовки.