Forum Discussion

M_McDonald's avatar
M_McDonald
Super Contributor
15 years ago

NPE getting raw request from REST Request step

I capture the raw request from a REST request in a Groovy script like so:

def rawReq = new String(testRunner.testCase.testSteps['RESTRequestName'].testRequest.response.rawRequestData)


When I run the script in the Groovy step editor it works, but when I run the test case, the script fails. I see an NPE in the error log:

Wed Mar 10 10:26:15 EST 2010:ERROR:java.lang.NullPointerException
  java.lang.NullPointerException
  at java.lang.String.<init>(Unknown Source)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
  at java.lang.reflect.Constructor.newInstance(Unknown Source)
  at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
  at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:107)
  at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:192)
  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:200)
  at Script1.run(Script1.groovy:3)
  at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:93)
  at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:51)
  at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:148)
  at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:194)
  at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:125)
  at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
  at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:138)
  at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
  at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
  at java.util.concurrent.FutureTask.run(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)


This was working fine in earlier versions (though I am not sure when it was broken as I have not executed this test case for a few days.)

This is blocking issue for me.

3 Replies

  • M_McDonald's avatar
    M_McDonald
    Super Contributor
    OK, I found a different way of getting the info I need:

    def rawReq = String(testRunner.testCase.testSteps['RESTRequestName'].testRequest.response.requestContent


    which is simpler, so this is no longer blocking.

    But if I did need the full raw request this would still be an issue.
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hi!

    hmm.. did you get this error when running your containing testcase in a loadtest? or just with standard execution?

    regards!

    /Ole
    eviware.com