Forum Discussion

enliven's avatar
enliven
Contributor
17 years ago

Script Assertion with messageExchange

Hello,

Im curious why I must assign values to a var before asserting, instead of asserting the value from the type?? what am I not doing right?:

def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def req = groovyUtils.getXmlHolder( messageExchange.requestContent  )
def res = groovyUtils.getXmlHolder( messageExchange.responseContent  )
req.namespaces["ns"] = "http://xyz"
res.namespaces["ns"] = "http://xyz"

//this DOES NOT work
//assert req["//ns:ResponseHeader/ns:RequestId"] == res["//ns:ResponseHeader/ns:RequestId"], "RequestID differs"

//this DOES work
def reqid = req["//ns:RequestHeader/ns:RequestId"]
def resid = res["//ns:ResponseHeader/ns:RequestId"]
assert reqid == resid, "RequestID differs"

5 Replies

  • Hi!

    to be honest.. I have no idea.. are you running the latest nightly build (which has the latest groovy runtime)?

    regards!

    /Ole
    eviware.com
  • No, Im using SoapUIPro Build dist-76-2008-11-21
    Ill update when I get a chance and postback results.
  • Ive updated to the latest nightly build and tried to assert via:
    assert req["//ns:ResponseHeader/ns:RequestId"] == res["//ns:ResponseHeader/ns:RequestId"], "RequestID differs"

    and now receive an 'Error' message with the text "null".

    I dont know how to debug this further.
  • Hello,



    assert req["//ns:ResponseHeader/ns:RequestId"] == res["//ns:ResponseHeader/ns:RequestId"], "RequestID differs"



    should be that :



    assert req["//ns:RequestHeader/ns:RequestId"] == res["//ns:ResponseHeader/ns:RequestId"], "RequestID differs"



    what do you think?

    robert