您好我正在尝试在Mule ESB中记录POST内容的内容,因为另一端接收除了二进制的ContactId之外的所有内容.我们正在尝试确定错误的位置.这是流程.
<flow name="ContactUpdate">
<http:inbound-endpoint exchange-pattern="request-response" host="host" port="port" path="ContactUpdate" doc:name="HTTP"/>
<logger level="INFO" doc:name="Logger" message="#[payload]"/>
<ws:consumer config-ref="Web_Service_Consumer" operation="UpdateContact" doc:name="UpdateContact"/>
</flow>
Run Code Online (Sandbox Code Playgroud)
在日志中,我只能看到内容的长度和其他信息,但不能看到POST中发送的正文的实际内容.有可能做这样的事吗?
谢谢你的帮助
如文档中所述,您可以在MEL表达式中将有效负载检索为字符串:
<logger level="INFO" message="#[message.payloadAs(java.lang.String)]"/>
Run Code Online (Sandbox Code Playgroud)
请记住,这将反序列化HTTP请求输入流有效负载,如果您收到巨大的有效负载,可能会严重损坏您的内存.