如何解决消息有效负载的类型为:BufferInputStream Mule中的exception

我已经转换为字节数组但我不断收到此错误:

ERROR 2015-02-25 11:12:30,517 [[ESR].HTTP_Request_Listener.worker.01] org.mule.exception.DefaultMessagingExceptionStrategy: ******************************************************************************** Message : Response code 400 mapped as failure. Message payload is of type: BufferInputStream Code : MULE_ERROR--2 -------------------------------------------------------------------------------- Exception stack is: 1. Response code 400 mapped as failure. Message payload is of type: BufferInputStream (org.mule.module.http.internal.request.ResponseValidatorException) org.mule.module.http.internal.request.SuccessStatusCodeValidator:37 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/module/http/internal/request/ResponseValidatorException.html) -------------------------------------------------------------------------------- Root Exception stack trace: org.mule.module.http.internal.request.ResponseValidatorException: Response code 400 mapped as failure. Message payload is of type: BufferInputStream at org.mule.module.http.internal.request.SuccessStatusCodeValidator.validate(SuccessStatusCodeValidator.java:37) at org.mule.module.http.internal.request.DefaultHttpRequester.innerProcess(DefaultHttpRequester.java:202) at org.mule.module.http.internal.request.DefaultHttpRequester.process(DefaultHttpRequester.java:166) + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ******************************************************************************** 

这是我的流程:

                          app.registry.messageBean.sendResponseToSender(flowVars.id); app.registry.messageBean.messageProcessedSuccessfully(flowVars.id);    

您似乎从HTTP请求中获取了400状态代码,这会在到达变换器之前导致exception。 尝试添加覆盖所有案例的成功状态代码validation器(您可以选择稍后考虑哪些案例):

    

使用twitter mulesoft适配器发布状态更新时也出现此错误,但经过一些谷歌搜索和试用后,我发现错误与适配器无关,它是将有效负载字符串传递给适配器。

在SetPayload中,在值字段中尝试此表达式:#[‘RT @’+ message.payload [0] .user.screenName +’:’+ message.payload [0] .text]

在twitter适配器中尝试以下值:

操作:更新状态状态:#[payload]

如果仍然出现错误,“message.payload [0] .text”中可能会有一些特殊字符,这是screenName的最后一条推文,要么尝试放置没有更新状态适配器的记录器,要检查是否可以记录它正确。

谢谢Madajee。 我有同样的问题,你的回答帮我解决了。 此外,除此之外,Twitter访问存在一些问题,必须结合使用才能确保您拥有可行的解决方案。 特别是围绕更改DT(Direct Tweet)的权限并重新生成Access Key并在Twitter连接器配置中重新输入它。