例如,如果我将错误的帖子/直接放到Web服务上,它会给我这个:
<prestashop>
<errors>
<error>
<message><![CDATA[Internal error. To see this error please display the PHP errors.]]></message>
</error>
</errors>
</prestashop>
但是,如果我通过Mule ESB,错误对我或其他开发人员都没有帮助。
500 Internal Server Error
Unexpected character (R) at position 0.
Response code 404 mapped as failure. Message payload is of type: BufferInputStream
这是我在Mule中的流程
<http:request-config name="HTTP_Request_Configuration_PrestaShop4" host="host.org/api/customers/#[message.inboundProperties.'http.query.string']" port="port" doc:name="HTTP Request Configuration" protocol="HTTPS">
<http:basic-authentication username="keyU" password="keyP"/>
</http:request-config>
<flow name="prestaShopUpdateCustomerById">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8080" path="prestaShopUpdateCustomerById" doc:name="HTTP"/>
<logger level="INFO" message="#[message.payloadAs(java.lang.String)]" doc:name="Logger"/>
<http:request config-ref="HTTP_Request_Configuration_PrestaShop4" path="/" method="PUT" doc:name="HTTP">
<http:request-builder>
</http:request-builder>
</http:request>
</flow>
是否有可能使Mule显示webservice的错误而不是此通用消息(此问题同时适用于REST和SOAP Web服务)。
由于
答案 0 :(得分:3)
尝试添加涵盖所有案例的成功状态代码验证器(您可以更具体):
<http:request path="path" method="method" config-ref="requestConfig">
<http:success-status-code-validator values="0..599"/>
</http:request>
我希望有所帮助。
答案 1 :(得分:0)
使用MEL#[exception]
提取错误有效负载