Mule HTTP参数

时间:2014-09-19 08:37:28

标签: http service mule

我创建了一个服务,您可以通过http:

调用mule服务
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8086" path="idnum" doc:name="HTTP"/>

因此,如果您想要调用此服务,请键入:

http://localhost:8086/idnum

但我想要的是http接受一个id号作为参数,然后将id号存储到一个变量中,以便我可以使用id号。所以http看起来像:

http://localhost:8086/idnum/4583948364094 for example.

所以我的问题是如何从网址

获取参数

2 个答案:

答案 0 :(得分:4)

从病房的Mule-3.6开始,我们有HTTP Listener Connector,您可以使用它传递URI参数。

您可以使用以下MEL

访问URI参数

#[message.inboundProperties.'http.uri.params'.id]提供的URI应如下所示:http://localhost:8086/idnum/ {id}

答案 1 :(得分:0)

您需要将ID作为消息入站参数,如下所示。在Mule流程中,您需要执行以下操作: -

<flow name="test">
    <http:inbound-endpoint exchange-pattern="request-response"
                           host="localhost" port="8086"
                           path="idnum" doc:name="HTTP"/>
    <!-- storing id in variable myId -->
    <set-variable variableName="myId"
                  value="#[message.inboundProperties['id']]" 
                  doc:name="Variable"/>
    <!-- Print the variable in console -->
    <logger level="INFO"  message="My id :- #[flowVars['myId']]"/>        
</flow>

现在进入浏览器

http://localhost:8086/idnum/?id=4583948364094

现在您可以将它存储在Mule中的变量中,您可以在记录器中看到它:

My id :- 4583948364094