def expectedMap = [Key1: 'Value1', Key2: 'Value2', Key40: 'Value40']
def xmlString = """<soap:Envelope xmlns:soap="http://w...content-available-to-author-only...3.org/2003/05/soap-envelope" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance" xmlns:xsd="http://w...content-available-to-author-only...3.org/2001/XMLSchema">
<soap:Body>
<ArrayOfallObjects>
<ArrayOfObjects>
<Key>Key1</Key>
<Value>Value1</Value>
</ArrayOfObjects>
<ArrayOfObjects>
<Key>Key2</Key>
<Value>Value2</Value>
</ArrayOfObjects>
<ArrayOfObjects>
<Key>Key40</Key>
<Value>Value40</Value>
</ArrayOfObjects>
</ArrayOfallObjects>
</soap:Body>
</soap:Envelope>"""
def xml = new XmlSlurper().parseText(xmlString)
def actualMap = xml.'**'.findAll {it.name() == 'ArrayOfObjects' }.collectEntries {[(it.Key.text()): it.Value.text()]}?.sort {it.key}
println "Actual data retrieved: $actualMap"
assert expectedMap == actualMap
ZGVmIGV4cGVjdGVkTWFwID0gW0tleTE6ICdWYWx1ZTEnLCBLZXkyOiAnVmFsdWUyJywgS2V5NDA6ICdWYWx1ZTQwJ10KCmRlZiB4bWxTdHJpbmcgPSAiIiI8c29hcDpFbnZlbG9wZSB4bWxuczpzb2FwPSJodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uMy5vcmcvMjAwMy8wNS9zb2FwLWVudmVsb3BlIiB4bWxuczp4c2k9Imh0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi4zLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uMy5vcmcvMjAwMS9YTUxTY2hlbWEiPgogICA8c29hcDpCb2R5PiAgCiAgICAgPEFycmF5T2ZhbGxPYmplY3RzPgogICAgICAgPEFycmF5T2ZPYmplY3RzPgogICAgICAgICAgPEtleT5LZXkxPC9LZXk+CiAgICAgICAgICA8VmFsdWU+VmFsdWUxPC9WYWx1ZT4KICAgICAgIDwvQXJyYXlPZk9iamVjdHM+CiAgICAgICA8QXJyYXlPZk9iamVjdHM+CiAgICAgICAgICA8S2V5PktleTI8L0tleT4KICAgICAgICAgIDxWYWx1ZT5WYWx1ZTI8L1ZhbHVlPgogICAgICAgPC9BcnJheU9mT2JqZWN0cz4KICAgICAgIDxBcnJheU9mT2JqZWN0cz4KICAgICAgICAgIDxLZXk+S2V5NDA8L0tleT4KICAgICAgICAgIDxWYWx1ZT5WYWx1ZTQwPC9WYWx1ZT4KICAgICAgIDwvQXJyYXlPZk9iamVjdHM+CiAgICAgPC9BcnJheU9mYWxsT2JqZWN0cz4gICAKICAgPC9zb2FwOkJvZHk+Cjwvc29hcDpFbnZlbG9wZT4iIiIKCmRlZiB4bWwgPSBuZXcgWG1sU2x1cnBlcigpLnBhcnNlVGV4dCh4bWxTdHJpbmcpCmRlZiBhY3R1YWxNYXAgPSB4bWwuJyoqJy5maW5kQWxsIHtpdC5uYW1lKCkgPT0gJ0FycmF5T2ZPYmplY3RzJyB9LmNvbGxlY3RFbnRyaWVzIHtbKGl0LktleS50ZXh0KCkpOiBpdC5WYWx1ZS50ZXh0KCldfT8uc29ydCB7aXQua2V5fQpwcmludGxuICJBY3R1YWwgZGF0YSByZXRyaWV2ZWQ6ICRhY3R1YWxNYXAiCmFzc2VydCBleHBlY3RlZE1hcCA9PSBhY3R1YWxNYXA=