如何在mule-config的MEL中编写Mule muleEventContext.getMessage()。getPayloadAsString()

时间:2013-06-19 16:59:53

标签: mule

我有一个soap服务流程,通过<cxf:proxy-service>获取入站请求。我之后有一个java组件将有效负载作为String。

这是我的流程:

<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>        
    <component class="test.GetPayload" />
  .
  .
  .
 </flow>

这是我的GetPayload类:

public Object onCall(MuleEventContext eventContext) throws Exception {
    String requestXml = null;
    try {

        requestXml = eventContext.getMessage().getPayloadAsString();
        logger.debug("Request XML " + requestXml);

    } catch (Exception e) {
        e.printStackTrace();
    }
    return requestXml;
}

我需要一种方法来摆脱GetPayload类并在我的mule-config中做同样的事情。我试过了 <object-to-string-transformer/>

<set-payload value="#[message.payloadAsString]"/>

message.payloadAsString抛出异常。我不明白为什么。

1 个答案:

答案 0 :(得分:4)