我已经转换为字节数组但我不断收到此错误:
- 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)
- ********************************************************************************
这是我的流程:
- <sub-flow name="requestBeanCreate">
- <object-to-byte-array-transformer />
- <set-payload value="#[app.registry.messageBean.createServiceRequest(message.inboundProperties['http.uri.params']['name'],payload)]"/>
- </sub-flow>
- <flow name = "RequestsEntryFlow" >
- <http:listener allowedMethods="POST" parseRequest="false" config-ref="HTTP_Request_Listener" path="/{name}" doc:name="HTTP Entry Flow" />
- <flow-ref name="requestBeanCreate" />
- <choice doc:name="Choice">
- <when expression="#[app.registry.messageBean.isEMCrequired(payload)]">
- <jms:outbound-endpoint connector-ref="jms-connector" ref="EMCrequiredRequestsQueue" />
- </when>
- <otherwise>
- <flow-ref name="req" />
- </otherwise>
- </choice>
- </flow>
- <http:request-config parseResponse="false" name="HTTP_Request_Configuration" />
- <sub-flow name = "req">
- <set-variable variableName="id" value="#[payload]" doc:name="Variable" />
- <set-variable variableName="destination" value="#[app.registry.routerBean.getDestination(app.registry.messageBean.getReceiverID(payload))]" doc:name="Variable" />
- <set-payload value="#[app.registry.messageBean.sendRequestToDestination(payload)]" />
- <processor-chain>
- <http:request parseResponse="false" config-ref="HTTP_Request_Configuration" host="#[flowVars.destination]" port="80" path="/" method="POST" />
- <object-to-byte-array-transformer />
- <expression-component>
- app.registry.messageBean.sendResponseToSender(flowVars.id);
- app.registry.messageBean.messageProcessedSuccessfully(flowVars.id);
- </expression-component>
- </processor-chain>
- </sub-flow>