mule - Mule <object-to-string-transformer> 与 message.getPatyloadAsString() 有何不同

标签 mule

我有一个通过<cxf:proxy-service> 获取入站请求的soap 服务流。 .我在它之后有一个设置的有效负载,以将有效负载作为字符串。

这是我的流程:

<flow name="soapService">
    <http:inbound-endpoint address="${service.address}" exchange-pattern="request-response">
        <cxf:proxy-service wsdlLocation="classpath:service.wsdl" namespace="http://pennmutual.com/services/mvi" service="MVIService" enableMuleSoapHeaders="false"/>                
    </http:inbound-endpoint>        
    <set-payload value="#[message.payloadAs(java.lang.String)]"/>
  .
  .
  .
 </flow>

<set-payload value="#[message.payloadAs(java.lang.String)]"/>有效,但如果我用 <object-to-string-transformer> 替换它,它不起作用。

这两者在本质上有何不同?

更新: 更换 <set-payload value="#[message.payloadAs(java.lang.String)]"/><object-to-string-transformer>在我上面的流程中,#[payload]com.ctc.wstx.sr.ValidatingStreamReader@429eb61a而不是实际的 XML

最佳答案

message.payloadAs(java.lang.String)依赖于 Mule 的自动转换框架:我想它会选择 <xml:dom-to-xml-transformer>而不是 <object-to-string-transformer>作为最合适的变压器。

关于mule - Mule <object-to-string-transformer> 与 message.getPatyloadAsString() 有何不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17198374/

相关文章:

mule - 我如何处理 mule Choice 路由器中的 HTTP 路径参数?

具有流引用和流变量的 Mule 异步作用域

java - AmazonClientException : Unable To Load Credentials from any Provider in the Chain

java - 尝试将 Mule 与 Drools 集成时遇到 "unqualified type in strict mode for: MessageExchangePattern"

java - Mule 2.2.1-HF5 兼容 Java 8

mule - org.mule.routing.ExpressionSplitter : Splitter only returned a single result. 如果这不是预期的情况,请检查您的拆分表达式

ssl - MULE ESB 3.4 IMAP 邮件问题

java - 如何让 JMS 生产者使用 TemporaryQueue 监听消费者返回的响应?

java - 使用 Mule Dataweave 导入 CSV?

xml - Mule:是否有将 XML 转换为 JSON 的简单方法