Forum Discussion

eelzinga's avatar
eelzinga
Occasional Contributor
15 years ago

SoapUI testcase called from within LoadUI generates errors

I have the next situtatie :

SoapUI :
mytestcase
- soap - insertEmployee webservice
- soap - readEmployee webservice

the next step in the flow should be : remove the employee
i tested this by the following two solutions :

- jdbc step - delete from employees where id = (the id created by the insertEmployee webservice)
- groovy script and use something like :

connectionString = "jdbc:oracle:thin:user/pwd@my_db_host"
def driverClassName = "oracle.jdbc.driver.OracleDriver";
def id = ...retrieve id from the insertEmployee request ....

// delete employee
try {
def sql = Sql.newInstance(connectionString, driverClassName);
sql.execute("delete from employee_table where id= ?", [id] );
log.info("Record with id " + id + " is deleted")
}
finally {
if (sql != null) {
sql.close();
}
}


Both work perfect when i test it from soapui itself.
When i just run the testcase 1 time, it's ok, and also when i put the teststeps in a loadtest in soapui itself and run it for 10min with 5 threads it works ok.

Now the next step in the process.
I use the testcase to generate my loadui project. In loadui it generates the soapui runner/fixed rate and statistics component for me and everything looks ok.

Now i use the next command to do the loadui run :
loadUI-cmd.bat -Dsoapui.properties=soapui_tst.properties -F PDF -L 10:0:0 -l -nofx -p d:/employee-loadui-test.xml -r d:/temp1

This works ok and it triggers the soapui testcase, but at random moments it generates the next errors :

groovy.lang.MissingPropertyException: No such property: sql for class: Script1
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:239)
at Script1.run(Script1.groovy:36)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:96)
at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:88)
at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:148)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:207)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:138)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135)
at com.eviware.loadui.components.soapui.SoapUISamplerComponent$SoapUITestCaseRunner.run(SoapUISamplerComponent.java:812)
at com.eviware.loadui.components.soapui.SoapUISamplerComponent.sample(SoapUISamplerComponent.java:679)
at com.eviware.loadui.impl.component.categories.RunnerBase.doSample(RunnerBase.java:406)
at com.eviware.loadui.impl.component.categories.RunnerBase.access$600(RunnerBase.java:65)
at com.eviware.loadui.impl.component.categories.RunnerBase$Worker.run(RunnerBase.java:686)
at com.eviware.loadui.util.dispatch.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:188)
at java.lang.Thread.run(Unknown Source)
--------------------------------------------
java.lang.IllegalStateException: zip file closed
at java.util.zip.ZipFile.ensureOpen(Unknown Source)
at java.util.zip.ZipFile.getEntry(Unknown Source)
at java.util.jar.JarFile.getEntry(Unknown Source)
at org.apache.felix.framework.util.JarFileX.getEntry(JarFileX.java:61)
at org.apache.felix.framework.cache.JarContent.getEntryAsBytes(JarContent.java:120)
at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1733)
at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:716)
at org.apache.felix.framework.ModuleImpl.access$200(ModuleImpl.java:73)
at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1685)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.codehaus.groovy.control.CompilationFailedException.<init>(CompilationFailedException.java:42)
at org.codehaus.groovy.control.MultipleCompilationErrorsException.<init>(MultipleCompilationErrorsException.java:30)
at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:296)
at org.codehaus.groovy.control.ProcessingUnit.completePhase(ProcessingUnit.java:138)
at org.codehaus.groovy.control.ProcessingUnit.gotoPhase(ProcessingUnit.java:157)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:459)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:727)
at groovy.lang.GroovyShell.parse(GroovyShell.java:739)
at groovy.lang.GroovyShell.parse(GroovyShell.java:766)
at groovy.lang.GroovyShell.parse(GroovyShell.java:757)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.compile(SoapUIGroovyScriptEngine.java:148)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:93)
at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:88)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.runSetupScript(WsdlTestCase.java:863)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:96)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135)
at com.eviware.loadui.components.soapui.SoapUISamplerComponent$SoapUITestCaseRunner.run(SoapUISamplerComponent.java:812)
at com.eviware.loadui.components.soapui.SoapUISamplerComponent.sample(SoapUISamplerComponent.java:679)
at com.eviware.loadui.impl.component.categories.RunnerBase.doSample(RunnerBase.java:406)
at com.eviware.loadui.impl.component.categories.RunnerBase.access$600(RunnerBase.java:65)
at com.eviware.loadui.impl.component.categories.RunnerBase$Worker.run(RunnerBase.java:686)
at com.eviware.loadui.util.dispatch.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:188)
at java.lang.Thread.run(Unknown Source)
------------------------------
13:36:19,488 ERROR [AbstractTestRunner] Exception during Test Execution
java.util.ConcurrentModificationException: Document changed during select
at org.apache.xmlbeans.impl.store.Path$XbeanPathEngine.next(Path.java:459)
at org.apache.xmlbeans.impl.store.Cursor._toSelection(Cursor.java:931)
at org.apache.xmlbeans.impl.store.Cursor._getSelectionCount(Cursor.java:946)
at org.apache.xmlbeans.impl.store.Cursor.notifyChange(Cursor.java:882)
at org.apache.xmlbeans.impl.store.Locale.notifyChange(Locale.java:1693)
at org.apache.xmlbeans.impl.store.Cur.moveNode(Cur.java:1908)
at org.apache.xmlbeans.impl.store.Cur.moveNode(Cur.java:1844)
at org.apache.xmlbeans.impl.store.Cur.createHelper(Cur.java:287)
at org.apache.xmlbeans.impl.store.Cur.createAttr(Cur.java:211)
at org.apache.xmlbeans.impl.store.Locale.applyNamespaces(Locale.java:2282)
at org.apache.xmlbeans.impl.store.Xobj.copy_contents_from(Xobj.java:2353)
at org.apache.xmlbeans.impl.store.Xobj.copy(Xobj.java:2405)
at org.apache.xmlbeans.impl.values.XmlObjectBase._copy(XmlObjectBase.java:155)
at org.apache.xmlbeans.impl.values.XmlObjectBase._copy(XmlObjectBase.java:138)
at org.apache.xmlbeans.impl.values.XmlObjectBase.copy(XmlObjectBase.java:119)
at com.eviware.soapui.impl.wsdl.teststeps.PropertyTransfersTestStep$PropertyTransferResult.addTransferResult(PropertyTransfersTestStep.java:238)
at com.eviware.soapui.impl.wsdl.teststeps.PropertyTransfersTestStep.run(PropertyTransfersTestStep.java:141)
at com.eviware.soapui.impl.wsdl.teststeps.PropertyTransfersTestStep.run(PropertyTransfersTestStep.java:111)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:207)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:138)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135)
at com.eviware.loadui.components.soapui.SoapUISamplerComponent$SoapUITestCaseRunner.run(SoapUISamplerComponent.java:812)
at com.eviware.loadui.components.soapui.SoapUISamplerComponent.sample(SoapUISamplerComponent.java:679)
at com.eviware.loadui.impl.component.categories.RunnerBase.doSample(RunnerBase.java:406)
at com.eviware.loadui.impl.component.categories.RunnerBase.access$600(RunnerBase.java:65)
at com.eviware.loadui.impl.component.categories.RunnerBase$Worker.run(RunnerBase.java:686)
at com.eviware.loadui.util.dispatch.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:188)
at java.lang.Thread.run(Unknown Source)


I think something gets messed up with the sql connections. But the weird this is, when i loadtest it from soapui it works great, but when i test it with the command mentioned (loadUI-cmd.bat), and run it for like 10 sections it already fails with errors.

When i remove the delete-step in the soapui-testcase and use the loadUI-cmd.bat command again, it works perfect. So it must has something to do with the sql connections.

Any idea how to fix this ?

7 Replies

  • Hi!

    can you add a catch clause to your try statement and print the exception to the console? I suspect the Sql.newInstance(...) call fails which is why the sql variable is undefined in the finally clause.

    This is probably because of classloading; have you added the jdbc driver to the loadui\ext folder? Also, when using the Sql classes like this you need to call

    com.eviware.soapui.support.GroovyUtils.registerJdbcDriver( driverClassName )

    before trying to create the sql variable.

    Does his help?

    regards!

    /Ole
    eviware.com
  • eelzinga's avatar
    eelzinga
    Occasional Contributor
    i upgraded my soapui to 3.6.1 (i was still runing the 3.6.0 version) and now i get some other stacktrace


    11:56:49,108 ERROR [SoapUI] An error occured [org/ietf/jgss/GSSException], see error log for details
    java.lang.NoClassDefFoundError: org/ietf/jgss/GSSException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at oracle.net.ano.Ano.init(Unknown Source)
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:239)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
    at com.eviware.soapui.support.GroovyUtils$DriverShim.connect(GroovyUtils.java:129)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at groovy.sql.Sql.newInstance(Sql.java:219)
    at groovy.sql.Sql.newInstance(Sql.java:310)
    at groovy.sql.Sql$newInstance$1.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
    at Script1.run(Script1.groovy:38)
    at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:96)
    at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:88)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:148)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:207)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:138)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135)
    at com.eviware.loadui.components.soapui.SoapUISamplerComponent$SoapUITestCaseRunner.run(SoapUISamplerComponent.java:812)
    at com.eviware.loadui.components.soapui.SoapUISamplerComponent.sample(SoapUISamplerComponent.java:679)
    at com.eviware.loadui.impl.component.categories.RunnerBase.doSample(RunnerBase.java:406)
    at com.eviware.loadui.impl.component.categories.RunnerBase.access$600(RunnerBase.java:65)
    at com.eviware.loadui.impl.component.categories.RunnerBase$Worker.run(RunnerBase.java:686)
    at com.eviware.loadui.util.dispatch.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:188)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: org.ietf.jgss.GSSException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 34 more

    ------------------------------------------------


    11:07:01,468 INFO [CommandRunner] Time: 00:00:00 Samples: 0 Failures: 0
    java.util.ConcurrentModificationException: Document changed during select11:07:02,296 ERROR [AbstractTestRunner] Exception during Test Execution
    java.util.ConcurrentModificationException: Document changed during select
    at org.apache.xmlbeans.impl.store.Path$XbeanPathEngine.next(Path.java:459)
    at org.apache.xmlbeans.impl.store.Cursor._toSelection(Cursor.java:931)
    at org.apache.xmlbeans.impl.store.Cursor._getSelectionCount(Cursor.java:946)
    at org.apache.xmlbeans.impl.store.Cursor.notifyChange(Cursor.java:882)
    at org.apache.xmlbeans.impl.store.Locale.notifyChange(Locale.java:1693)
    at org.apache.xmlbeans.impl.store.Cur.moveNode(Cur.java:1908)
    at org.apache.xmlbeans.impl.store.Cur.moveNode(Cur.java:1844)
    at org.apache.xmlbeans.impl.store.Cur.createHelper(Cur.java:287)
    at org.apache.xmlbeans.impl.store.Cur.createAttr(Cur.java:211)
    at org.apache.xmlbeans.impl.store.Locale.applyNamespaces(Locale.java:2282)
    at org.apache.xmlbeans.impl.store.Xobj.copy_contents_from(Xobj.java:2353)
    at org.apache.xmlbeans.impl.store.Xobj.copy(Xobj.java:2405)
    at org.apache.xmlbeans.impl.values.XmlObjectBase._copy(XmlObjectBase.java:155)
    at org.apache.xmlbeans.impl.values.XmlObjectBase._copy(XmlObjectBase.java:138)
    at org.apache.xmlbeans.impl.values.XmlObjectBase.copy(XmlObjectBase.java:119)
    at com.eviware.soapui.impl.wsdl.teststeps.PropertyTransfersTestStep$PropertyTransferResult.addTransferResult(PropertyTransfersTestStep.java:
    238)
    at com.eviware.soapui.impl.wsdl.teststeps.PropertyTransfersTestStep.run(PropertyTransfersTestStep.java:141)
    at com.eviware.soapui.impl.wsdl.teststeps.PropertyTransfersTestStep.run(PropertyTransfersTestStep.java:111)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:207)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:138)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135)
    at com.eviware.loadui.components.soapui.SoapUISamplerComponent$SoapUITestCaseRunner.run(SoapUISamplerComponent.java:812)
    at com.eviware.loadui.components.soapui.SoapUISamplerComponent.sample(SoapUISamplerComponent.java:679)
    at com.eviware.loadui.impl.component.categories.RunnerBase.doSample(RunnerBase.java:406)
    at com.eviware.loadui.impl.component.categories.RunnerBase.access$600(RunnerBase.java:65)
    at com.eviware.loadui.impl.component.categories.RunnerBase$Worker.run(RunnerBase.java:686)
    at com.eviware.loadui.util.dispatch.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:188)
    at java.lang.Thread.run(Unknown Source)

    at org.apache.xmlbeans.impl.store.Path$XbeanPathEngine.next(Path.java:459)
    at org.apache.xmlbeans.impl.store.Cursor._toSelection(Cursor.java:931)
    at org.apache.xmlbeans.impl.store.Cursor._toNextSelection(Cursor.java:920)
    at org.apache.xmlbeans.impl.store.Cursor._hasNextSelection(Cursor.java:912)
    at org.apache.xmlbeans.impl.store.Cursor.hasNextSelection(Cursor.java:2652)
    at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:464)
    at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:446)
    at com.eviware.soapui.support.xml.XmlObjectConfigurationReader.readString(XmlObjectConfigurationReader.java:89)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.readConfig(WsdlGroovyScriptTestStep.java:107)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.<init>(WsdlGroovyScriptTestStep.java:71)
    at com.eviware.soapui.impl.wsdl.teststeps.registry.GroovyScriptStepFactory.buildTestStep(GroovyScriptStepFactory.java:37)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.createTestStepFromConfig(WsdlTestCase.java:297)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.<init>(WsdlTestCase.java:98)
    at com.eviware.soapui.impl.wsdl.WsdlTestCasePro.<init>(SourceFile:28)
    at com.eviware.soapui.impl.wsdl.WsdlTestSuitePro.buildTestCase(SourceFile:63)
    at com.eviware.loadui.components.soapui.SoapUISamplerComponent$SoapUITestCaseRunner.getTestCase(SoapUISamplerComponent.java:883)
    at com.eviware.loadui.components.soapui.SoapUISamplerComponent$SoapUITestCaseRunner.run(SoapUISamplerComponent.java:799)
    at com.eviware.loadui.components.soapui.SoapUISamplerComponent.sample(SoapUISamplerComponent.java:679)
    at com.eviware.loadui.impl.component.categories.RunnerBase.doSample(RunnerBase.java:406)
    at com.eviware.loadui.impl.component.categories.RunnerBase.access$600(RunnerBase.java:65)
    at com.eviware.loadui.impl.component.categories.RunnerBase$Worker.run(RunnerBase.java:686)
    at com.eviware.loadui.util.dispatch.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:188)
    at java.lang.Thread.run(Unknown Source)




    11:07:48,312 ERROR [SoapUI] An error occured [org/ietf/jgss/GSSException], see error log for details
    at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:88)11:07:48,312
    ERROR [SoapUI] An error occured [org/ietf/jgss/GSSException], see error log for details

    at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:148)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:207)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:138)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135)
    at com.eviware.loadui.components.soapui.SoapUISamplerComponent$SoapUITestCaseRunner.run(SoapUISamplerComponent.java:812)
    at com.eviware.loadui.components.soapui.SoapUISamplerComponent.sample(SoapUISamplerComponent.java:679)
    at com.eviware.loadui.impl.component.categories.RunnerBase.doSample(RunnerBase.java:406)
    at com.eviware.loadui.impl.component.categories.RunnerBase.access$600(RunnerBase.java:65)
    at com.eviware.loadui.impl.component.categories.RunnerBase$Worker.run(RunnerBase.java:686)
    at com.eviware.loadui.util.dispatch.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:188)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: org.ietf.jgss.GSSException
    at java.net.URLClassLoader$1.run(Unknown Source)
    11:07:48,374 ERROR [SoapUI] An error occured [org/ietf/jgss/GSSException], see error log for details
    java.lang.NoClassDefFoundError: org/ietf/jgss/GSSException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at oracle.net.ano.Ano.init(Unknown Source)
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:239)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
    at com.eviware.soapui.support.GroovyUtils$DriverShim.connect(GroovyUtils.java:129)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at groovy.sql.Sql.newInstance(Sql.java:219)
    at groovy.sql.Sql.newInstance(Sql.java:310)
    at groovy.sql.Sql$newInstance.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
    at Script1.run(Script1.groovy:35)
    at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:96)
    at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:88)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:148)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:207)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:138)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135)
    at com.eviware.loadui.components.soapui.SoapUISamplerComponent$SoapUITestCaseRunner.run(SoapUISamplerComponent.java:812)
    at com.eviware.loadui.components.soapui.SoapUISamplerComponent.sample(SoapUISamplerComponent.java:679)
    at com.eviware.loadui.impl.component.categories.RunnerBase.doSample(RunnerBase.java:406)
    at com.eviware.loadui.impl.component.categories.RunnerBase.access$600(RunnerBase.java:65)
    at com.eviware.loadui.impl.component.categories.RunnerBase$Worker.run(RunnerBase.java:686)
    at com.eviware.loadui.util.dispatch.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:188)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: org.ietf.jgss.GSSException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 34 more
    java.lang.NoClassDefFoundError: org/ietf/jgss/GSSException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at oracle.net.ano.Ano.init(Unknown Source)
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:239)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)

    The 3.6.0 version used to work better in that one it executed the jdbc calls a few times and after that it gave the stacktrace.
    Now it looks like the jdbc driver isn't loaded correctly.
    When i trigger the loadui project from within the ide, i so see the next output in it java console
    [SoapUI] Adding [D:\Apps\loadUI-1.0\.\ext\ojdbc6.jar] to extensions classpath

    So i would assume it gets loaded but maybe something still goes wrong on the class loading (i think you said in some other thread the class loading construction got changed in the 3.6.* version? )

    Any idea what we can try next ?
  • Hi!

    hmm.. did you add the call

    com.eviware.soapui.support.GroovyUtils.registerJdbcDriver( driverClassName )


    to your script as I suggested?

    Also, are these errors only in loadUI or also in soapUI?

    regards!

    /Ole
    eviware.com
  • eelzinga's avatar
    eelzinga
    Occasional Contributor
    Yes i added that to the script.

    the org/ietf/jgss/GSSException message got fixed by adding the rt.jar to the <loadui_home>/ext directory.

    the next exception is still there

    java.util.ConcurrentModificationException: Document changed during select
    at org.apache.xmlbeans.impl.store.Path$XbeanPathEngine.next(Path.java:459)
    at org.apache.xmlbeans.impl.store.Cursor._toSelection(Cursor.java:931)
    at org.apache.xmlbeans.impl.store.Cursor._getSelectionCount(Cursor.java:946)
    at org.apache.xmlbeans.impl.store.Cursor.notifyChange(Cursor.java:882)
    at org.apache.xmlbeans.impl.store.Locale.notifyChange(Locale.java:1693)
    at org.apache.xmlbeans.impl.store.Cur.moveNode(Cur.java:1908)
    at org.apache.xmlbeans.impl.store.Cur.moveNode(Cur.java:1844)
    at org.apache.xmlbeans.impl.store.Cur.createHelper(Cur.java:287)
    at org.apache.xmlbeans.impl.store.Cur.createAttr(Cur.java:211)
    at org.apache.xmlbeans.impl.store.Locale.applyNamespaces(Locale.java:2282)
    at org.apache.xmlbeans.impl.store.Xobj.copy_contents_from(Xobj.java:2353)
    at org.apache.xmlbeans.impl.store.Xobj.copy(Xobj.java:2405)
    at org.apache.xmlbeans.impl.values.XmlObjectBase._copy(XmlObjectBase.java:155)
    at org.apache.xmlbeans.impl.values.XmlObjectBase._copy(XmlObjectBase.java:138)
    at org.apache.xmlbeans.impl.values.XmlObjectBase.copy(XmlObjectBase.java:119)
    at com.eviware.soapui.impl.wsdl.teststeps.PropertyTransfersTestStep$PropertyTransferResult.addTransferResult(PropertyTransfersTestStep.java:238
    )


    I guess when we run it from loadui the response payload of one of the soap steps is changed too quickly so we can't do the xpath on it to retrieve the 'id' of the record we should delete by use of the jdbc step.

    The result is on a run of 60sec :
    96 records created
    58 record get deleted, and 38 are still in the database.

    In soapui it works ok, also when i use the 'soapui' loadtest (both with 1 and for example 5 threads)
    But when i trigger it from loadui it fails with the 'java.util.ConcurrentModificationException: Document changed during select' error.
  • eelzinga's avatar
    eelzinga
    Occasional Contributor
    when i propertytransfer the value from the soap response immediately after the soap step to a temporary variable and use that one for later steps, i won't see the 'java.util.ConcurrentModificationException: Document changed during select' any more.
    But still not all my requests get deleted by the jdbc delete step

    FINAL RESULTS: 00:01:00 Samples: 99 Failures: 6

    too bad i can't see what the exception/fault is, loadui just shows failure, and thats it
  • Hi,

    try connecting the second-from-right output of the soapUI runner to a table log; you should get the errors written to that output so you can see them in the log.

    Does that help you track down this?

    regards!

    /Ole
    eviware.com
  • eelzinga's avatar
    eelzinga
    Occasional Contributor
    great..it works! now i'm able to get the failures in the logfile.

    thanks!