У меня получилось такое представление
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:${servicename}Response xmlns:ns2="http://ws/">
<g:each in="${result}" var="record">
<return>
<g:each in="${parameters}" var="parameter">
<${parameter.name}>${record[parameter.name]}</${parameter.name}>
</g:each>
</return>
</g:each>
</ns2:${servicename}Response>
</S:Body>
</S:Envelope>
И оно выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:${servicename}Response xmlns:ns2="http://ws/">
<return>
<column1>updated</column1>
<column2>update</column2>
<id>1</id>
</return>
</ns2:${servicename}Response>
</S:Body>
</S:Envelope>
Как видите, переменная servicename не заменяется внутри имени элемента пространством имен.Я попытался взломать его несколькими способами, например, передать целое ns: servicename как переменную, но ничего не помогло, всегда были некоторые нежелательные побочные эффекты.Как я могу это сделать?я просто хочу заменить переменную без дополнительной проверки / обработки ...