【发布时间】:2015-04-17 13:32:02
【问题描述】:
我正在查询 DB 以通过 Mule 获取响应。正在填充响应,但不确定为什么要在 resultSet1 中划分它(如果它更大)。
在记录器中可以看到,ResultSet1 结束标记是</custo(未完全完成为),它正在使用相同的密钥(XML_F5RYI-11YTR)进行扩展,并在那里完成mers>。
- 是否需要在 Mule DB 级别进行任何配置设置才能在同一级别传播所有 resultSet1?
- 实际上我的最终目标是提取 resultSet1,第二个记录器 MEL 正在提取,但它不是一个完整的 ResultSet。您能否建议一个动态的 MEL 来提取 ResultSet1 Complete payload。
否则建议我如何实现该场景。
请找到记录器中打印的消息
DB Actual response:{updateCount1=4,resultSet1=[{XML_F5RYI-11YTR=<Customers><Customer1>John<Customer1>( removed multiple customers tags)<Customer6>Ganesh<Customer6></Custo},{XML_F5RYI-11YTR=mers>}],resultSet2[{SequenceNumber=94}],updateCount2=1, updateCount3=4}
请找到配置xml
<poll doc:name="Poll">
<fixed-frequency-scheduler frequency="10" timeUnit="SECONDS"/>
<db:stored-procedure config-ref="SCC_DB" doc:name="Database">
<db:parameterized-query><}]]></db:parameterized-query>
</db:stored-procedure>
</poll>
<logger message="DB Actual response:#[payload]" level="INFO" doc:name="Logger"/>
<logger message="Extracted ResultSet1 Response:************#[payload.resultSet1[0]['XML_F5RYI-11YTR']]********" level="INFO" doc:name="Logger"/>
骡子版本:3.5.1
请指出我错在哪里。提前感谢您的帮助。
已编辑:
我已启用 Streaming = 'true' 并且取得 Fetch Count = '10'。如果我启用了 Streaming,响应在 DB 之后传播,如下所示
**** DB response:org.mule.module.db.internal.result.statement.CloseableMap@558351f4*****
添加Transformer 'Byte Array to string'后,响应如下
**After Transformer:{updateCount1=0, resultSet1=org.mule.module.db.internal.result.resultset.ResultSetIterator@64df82c7, resultSet2=org.mule.module.db.internal.result.resultset.ResultSetIterator@e030a8e}**********
我尝试在 set Payload 中分离 #[payload.resultSet1],即使我无法提供转换器以查看确切的响应。您能否建议变压器查看 resultSet1 的响应。
【问题讨论】:
标签: mule mule-studio mule-el mule-component