mas*_*nta 2 xml web-services mule
mule esb 中 #[message.payloadAs(java.lang.String)] 的目的是什么?
有人可以用一个例子来解释我吗?当我的 mule esb 从网络服务得到响应时。当我使用 #[payload] 放置简单记录器时,我可以在日志中看到一些简单的哈希码,例如 @1b8353(但不是有效负载消息 xml)。但是当使用 #[message.payloadAs(java.lang.String)] 记录时,我可以清楚地看到有效负载 xml 被记录。有人可以清楚地解释其目的吗?
请评论以进一步澄清!!!!
#[message.payloadAs(java.lang.String)]将尝试将有效负载转换为给定的所需类。在本例中是一个字符串。
而日志记录只会payload记录当前有效负载表示的内容。
该方法payloadAs(Class<T> outpuTType)位于 Message 上下文类上,该类依次调用MuleMessage.getPayloadAs(Class<T> outputType)我相信:
将尝试获取具有所需类类型的此消息的有效负载。这将尝试解析一个可以执行此转换的变压器。如果找不到变压器,则会抛出异常。添加到注册表中的任何转换器都将检查兼容性 参数:outputType - 所需的返回类型 返回:此消息的转换后的有效负载。请注意,此方法不会更改此消息的有效负载,除非有效负载是 InputStream,在这种情况下,将读取该流并且有效负载将成为完全读取的流。抛出: TransformerException - 如果无法找到转换器或在有效负载转换期间出现错误