Я звоню веб-службы, как это (используя rest плагин):Потребляя веб-службы
withRest(uri: "http://server.com") {
def response = post(path: '/webservice', query: [q: 'test'])
// process response
}
и получаю следующий ответ:
<?xml version="1.0" encoding="UTF-8" ?>
<RESPONSE>
<MULTIPLE>
<SINGLE>
<KEY name="id">
<VALUE>1</VALUE>
</KEY>
<KEY name="courseid">
<VALUE>1</VALUE>
</KEY>
<KEY name="name">
<VALUE>test</VALUE>
</KEY>
<KEY name="description">
<VALUE>Test</VALUE>
</KEY>
<KEY name="descriptionformat">
<VALUE>1</VALUE>
</KEY>
<KEY name="enrolmentkey">
<VALUE>TEST</VALUE>
</KEY>
</SINGLE>
</MULTIPLE>
</RESPONSE>
Я хотел бы преобразовать этот ответ объект, чтобы я мог сделать что-то вроде этого:
assert responseMap.id == 1
Единственный способ, которым я знаю, как это сделать, - использовать Gpath expressio ns в блоке // process request
, чтобы захватить отдельные записи и построить мой responseMap
. Есть ли более простой способ? Отвечает ли этот ответ на некоторые «стандарты» и есть ли функции, облегчающие мою работу?