mule post json data to mule endpoint url

时间:2015-04-04 11:32:33

标签: mule mule-studio mule-el

<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"   contentType="application/x-www-form-urlencoded" path="getDetails" /> 
<object-to-string-transformer doc:name="Object to String"/>
<logger message=" Logging ...... #[message.payload]" level="INFO" doc:name="Logger"/>
<logger level="INFO" message=" Logging mule.......#[message.payloadAs(java.lang.String)]" doc:name="Logger"/>
<logger level="INFO" message="Logging demo .......... #[payload]" doc:name="Logger"/>

我通过chrome rest client调用

http://localhost:8081/getDetails

方法:发布

下面是json数据

{
  "id": "1", "firstName": "xyz", "lastName": "abc", "address":"xy"
}

无论我传递的json数据,我只想打印进行处理。但在记录时它显示空载荷

欢迎任何正确的解决方案

2 个答案:

答案 0 :(得分:0)

很奇怪,但我按照以下方式尝试了您的方案: -

<flow name="Flow1" doc:name="Flow1">
      <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"   contentType="application/x-www-form-urlencoded" path="getDetails" /> 
      <object-to-string-transformer doc:name="Object to String"/>
      <logger message=" Logging ...... #[message.payload]" level="INFO" doc:name="Logger"/>
      <logger level="INFO" message=" Logging mule.......#[message.payloadAs(java.lang.String)]" doc:name="Logger"/>
      <logger level="INFO" message="Logging demo .......... #[payload]" doc:name="Logger"/>
    </flow>

你可以看到我能够记录这些值: -

enter image description here

答案 1 :(得分:0)

您的代码绝对正确。正如Anirban指出的那样,在调用服务时可能会出错。我尝试使用Chrome中的postman插件调用此服务,并选择使用原始XML的帖子,它运行正常。请与邮递员一起尝试并确认您是否仍有同样的问题。