使用groovy dombuilder在soap信封中时无法访问节点值

使用groovy dombuilder在soap信封中时无法访问节点值,soap,groovy,Soap,Groovy,目标:我有一个Soap响应消息,我需要验证一个特定的元素值。我想使用Groovy DOMBuilder 如果我有这样的Soap响应: def xmlResponse = '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">\n' + ' <soap:Body>\n' + ' <ns1:getR

目标:我有一个Soap响应消息,我需要验证一个特定的元素值。我想使用Groovy DOMBuilder

如果我有这样的Soap响应:

def xmlResponse =
            '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">\n' +
            '   <soap:Body>\n' +
            '      <ns1:getResponse xmlns:ns1="http://my.company.com">\n' +
            '         <return>value1</return>\n' +
            '\t\t <return>value2</return>\n' +
            '      </ns1:getResponse>\n' +
            '   </soap:Body>\n' +
            '</soap:Envelope>'
elementName.return.size()为0。如果我去掉响应的soap信封和soap主体,我得到的正确答案是2。我不确定我需要做什么,这样我才能用正确的信息得到正确的响应


如果您能提供帮助,请提前感谢

使用
XmlSlurper
很容易/便宜:

def slurped = new XmlSlurper().parseText( xmlResponse ).Body.getResponse.'return'

assert slurped.size() == 2
assert slurped[0].text() == 'value1'

这当然很容易。谢谢你的帮助!
def slurped = new XmlSlurper().parseText( xmlResponse ).Body.getResponse.'return'

assert slurped.size() == 2
assert slurped[0].text() == 'value1'