Mule ESB:使用AJAX进行休息服务

时间:2014-05-26 12:37:32

标签: ajax rest mule

目前我正在使用mule esb。我想实施休息服务。我的应用程序的入站是AJAX。这是我想要的流程示例:

Flow

有可能吗?如果是的话,你能给我一个关于如何做的例子以及其余类的例子(只是一个关于如何获得有效载荷并将其传递给下一个元素的简单类)?提前谢谢。

1 个答案:

答案 0 :(得分:0)

在Mule中使用RESTful服务的一种方法是:

1)使用http:listener

<http:listener-config name="HTTPListener" host="127.0.0.1" port="8080"/>

2)利用正则表达式和选择

<flow name="restFlow">
<http:listener config-ref="HTTPListener" path="/path*" doc:name="HTTP"/>
<choice doc:name="Choice">
  <when expression="#[regex('/path', message.inboundProperties['http.request.path'])]">
    <json:json-to-object-transformer returnClass="java.util.HashMap" />
    <logger message="INCOMING: #[message.inboundProperties['http.request.path']] PAYLOAD: #[message.payload]" level="INFO"/>
    <set-property propertyName="success" value="true" doc:name="Property"/>      
    <set-payload value="#[new java.util.HashMap()]"/>
    <expression-transformer expression="#[
      message.payload.success=message.outboundProperties.success;
      message.payload]" />
    <json:object-to-json-transformer doc:name="Object to JSON"/>
  </when>
  <otherwise>
    <logger message="UNSUPPORTED" level="INFO"/>
  </otherwise>
</choice>

你应该得到JSON。