Exception Mule-如何在收到请求集合后响应。(骡子请求者)

Exception Mule-如何在收到请求集合后响应。(骡子请求者),exception,collections,ftp,mule,anypoint-studio,Exception,Collections,Ftp,Mule,Anypoint Studio,我使用Mule请求程序通过FTP接收文件集合 为了做到这一点,我收集使用收集拆分器,这是伟大的作品。唯一的问题是,当我返回HTTP连接器时,它抛出以下异常: java.lang.UnsupportedOperationException:getPayloadAsBytes(),使用 getPayload(数据类型.字节数组数据类型) 我猜这与尝试插入响应的有效负载类型有关,但我在Mule竞技场是相当新的。你知道这是什么原因吗?我该怎么解决这个问题 我尝试在记录器之后设置有效负载,但没有成功 代

我使用Mule请求程序通过FTP接收文件集合

为了做到这一点,我收集使用收集拆分器,这是伟大的作品。唯一的问题是,当我返回HTTP连接器时,它抛出以下异常:

java.lang.UnsupportedOperationException:getPayloadAsBytes(),使用 getPayload(数据类型.字节数组数据类型)

我猜这与尝试插入响应的有效负载类型有关,但我在Mule竞技场是相当新的。你知道这是什么原因吗?我该怎么解决这个问题

我尝试在记录器之后设置有效负载,但没有成功

代码:



您获得
java.lang.UnsupportedOperationException:getPayloadAsBytes(),使用getPayload(DataType.BYTE\u ARRAY\u DATA\u TYPE)
的原因很明显,因为您正在拆分负载,最后您的HTTP会导致问题,因为会有拆分响应。
一种解决方案是,在流程结束时使用一个聚合器,这将防止此异常。
最后的
将是一个不错的选择,有助于防止这种情况

更新

将其置于
块下,它将成功运行

,不幸的是,这不是导致异常的原因。我已经添加了集合聚合器,并且得到了完全相同的异常。请尝试将其置于async Blockah下!阿尼尔,谢谢你!这很有效。。。。你能解释一下为什么会这样吗?我对Mule还是相当陌生的。是的,正如我已经提到的,由于您正在拆分负载,负载正在被拆分,并在响应点的最后导致HTTP端点出现问题。因此,我建议在最后聚合有效负载。。既然您已经说过,它不起作用了,所以我建议使用
作为替代解决方案。此
将是单向的,不考虑响应。。因此,HTTP端点在最后不会受到拆分负载的影响。。我已相应地更新了我的答案。。如果它对你有用,你能或者你觉得有用,请接受答案,然后是的,内联块就成功了。唯一的缺点是,在这个过程中,任何变量操作都会丢失,但我能够在流程中解决这个问题。谢谢你的解释!
<flow name="fileGetter">     
  <http:listener config-ref="HTTP_Listener_Configuration" path="/test" doc:name="HTTP" allowedMethods="GET"></http:listener>
  <mulerequester:request-collection config-ref="Mule_Requester" resource="ftp_For_Requester_Dependent" doc:name="Mule Requester</mulerequester:request-collection>  
  <collection-splitter doc:name="Collection Splitter"></collection-splitter>
  <logger level="INFO" doc:name="Logger" message="#[message.inboundProperties.originalFilename]"></logger>  
</flow>