3

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

这是我的流程:

<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)]"/>为,而不是atcual<object-to-string-transformer>#[payload]com.ctc.wstx.sr.ValidatingStreamReader@429eb61aXML

4

1 回答 1

10

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

于 2013-06-19T19:04:13.453 回答