Я хочу отправить запрос в базу данных и вернуть результат клиенту с помощью WSO2 rest API. Вот конфиг синапса:
<api xmlns="http://ws.apache.org/ns/synapse" name="RestDBLookup" context="/dblookup">
<resource methods="POST GET" uri-template="/channel/{name}" protocol="http">
<inSequence>
<dblookup>
<connection>
<pool>
<password>pass</password>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>jdbc:oracle:thin:@localhost:1521:ORCL</url>
<user>user</user>
</pool>
</connection>
<statement>
<sql>SELECT ID, CHANNEL_NAME FROM CHANNEL where CHANNEL_NAME = ?</sql>
<parameter expression="get-property('uri.var.name')" type="VARCHAR"/>
<result name="channel_id" column="ID"/>
</statement>
</dblookup>
<log level="custom">
<property name="ID" expression="get-property('channel_id')"/>
<property name="State" value="after db"/>
</log>
</inSequence>
<outSequence>
<property name="messageType" value="application/json" scope="axis2" type="STRING"/>
<log level="full"/>
<send/>
</outSequence>
<faultSequence/>
</resource>
</api>
Когда я вызываю URL-адрес http://localhost:8280/dblookup/channel/someChannel
с оставшимся клиентом, я получаю журнал после dblookup
LogMediator ID = 40810162, State = after db
но outSequence
не выполняется, и я получаю только статус 202 Accepted на остальном клиенте без тела.
Итак, вопрос в том, как я могу создать какой-то ответ (например, в формате JSON) и отправить его клиенту?