我正在查询DB以通过Mule获得响应。响应正在填充,但不确定为什么它在resultSet1中被分割(如果它更大)。
可以在logger中看到,ResultSet1结束标记是</custo
(不完整地完成),它使用相同的密钥(XML_F5RYI-11YTR
)进行扩展,并在那里完成mers>
。
否则建议我如何实现该方案。
请查看记录器中打印的信息
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}
请找到config 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><![CDATA[{call [Database Query here](1)}]]></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'和Made Fetch Count ='10'。如果我启用了流式传输,响应会在DB之后传播,如下所示
**** DB response:org.mule.module.db.internal.result.statement.CloseableMap@558351f4*****
将Transformer'Bete Array添加到字符串'后,响应如下
**After Transformer:{updateCount1=0, resultSet1=org.mule.module.db.internal.result.resultset.ResultSetIterator@64df82c7, resultSet2=org.mule.module.db.internal.result.resultset.ResultSetIterator@e030a8e}**********
我已尝试在设置Payload中分离#[payload.resultSet1],即使我无法提供转换器以查看确切的响应。你能否建议变压器看看resultSet1的响应。
答案 0 :(得分:0)
答案 1 :(得分:0)
您是否尝试过向dml添加dom,并且可以使用集合聚合器来加入分割