Java Transform:返回NullPayload

时间:2016-01-05 16:13:27

标签: mule mule-component

我不知道发生了什么。 Java Transform返回NullPayload。

XML CODE

<http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8081" doc:name="HTTP Listener Configuration"/>
<flow name="teste-tranformationFlow">
    <http:listener config-ref="HTTP_Listener_Configuration" path="/trans" doc:name="HTTP"/>
    <custom-transformer class="TransformTest" doc:name="Java"/>
    <logger message="SUPER TESTE #[payload]" level="INFO" doc:name="Logger"/>
</flow>

JAVA代码

public class TransformTest extends AbstractMessageTransformer {

  @Override
  public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException {

    String s = "";
    try {
        s = ((ParameterMap)message.getInboundProperty("http.query.params")).get("id").toString();   

        message.setOutboundProperty("id", s + "***");           

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

}

记录器打印:

  

SUPER TESTE null

Java Transform实现是否正确?

1 个答案:

答案 0 :(得分:1)

您正在打印有效负载#[payload],而不是&#34; id&#34;变压器中设置的出站属性。 #[message.outboundProperties.propertyName] - &gt; #[message.outboundProperties.id]

如果要设置出站属性,则不需要Custom Java Transformer,可以使用Property Transformer进行,请查看文档:

  

https://docs.mulesoft.com/mule-user-guide/v/3.7/property-transformer-reference

了解Mule Message结构:

  

https://docs.mulesoft.com/mule-fundamentals/v/3.7/mule-message-structure

进行转换(Dataweave):

  

https://docs.mulesoft.com/mule-user-guide/v/3.7/using-dataweave-in-studio