Mule Munit издевается над http.uri.params

у меня есть поток, в котором я использую http, у меня есть вызов GET, где он попадает в лайк

https://localhost:8081/ref/{ID}

Я знаю, что могу получить этот параметр в коде, используя mel, например:

#[message.inboundProperties.'http.uri.params'.ID]

Мне нужно издеваться над параметрами uri, когда я устанавливаю сообщение, но безуспешно. я попытался установить в «установить сообщение», используя это имя

'http.uri.params'.ID

но, кажется, ошибка, когда я запускаю тест.

это на сервере mule 3.7.3 с использованием потоков munit


person ksmo92    schedule 08.09.2016    source источник


Ответы (2)


Помните, что входящее свойство http.uri.params на самом деле содержит свойство Map, которое, в свою очередь, содержит записи, представляющие фактические параметры.

Вам нужно будет установить фиктивное входящее свойство с именем http.uri.params, значением которого является карта, содержащая запись с ключом «ID» и значением, которое вы хотите. Помните, что в MEL вы можете создать карту с помощью [key1 : value1, key2 : value2, . . .].

Вот так:

<mock:inbound-properties>
     <mock:inbound-property key="http.uri.params" value="#[['ID': '123']]"/>
</mock:inbound-properties>
person Ryan Hoegg    schedule 09.09.2016

@ ksmo92 вы можете попробовать следующий код. Это сработало хорошо для меня.

<munit:set payload="#['']" doc:name="Set http.uri.params">
        <munit:inbound-properties>
            <munit:inbound-property key="http.uri.params" value="#[['name': 'Anu']]"/>
        </munit:inbound-properties>
 </munit:set>
person Anuradha Singh    schedule 09.02.2017