Forum Discussion

kamahade's avatar
kamahade
Regular Contributor
15 years ago

Maven Plugin and DB2 Error Message

Hi,

I am attempting to use the SoapUI Pro Maven plugin to run some test cases,

One of the test cases has a jdbc step, I have added the relevant libraries to the ./ext/ folder and it reports them as loaded to the classpath but the below error is still reported:

14:00:05,582 INFO [SoapUI] Added [file:/soapui/WebServices/./ext/db2jcc.jar] to classpath
14:00:05,584 INFO [SoapUI] Added [file:/soapui/WebServices/./ext/db2jcc_license_cu.jar] to classpath
14:00:05,584 INFO [DefaultSoapUICore] Creating new settings at [/var/lib/hudson/soapui-settings.xml]
14:00:06,038 INFO [SoapUIProGroovyScriptEngineFactory] Setting Script Library to [/soapui/WebServices/scripts]
14:00:06,560 INFO [WsdlProject] Loaded project from [file:/soapui/WebServices/soapUI_project_files/soapui-project.xml]
14:00:06,909 INFO [SoapUIProTestCaseRunner] Running soapUI tests in project [SOAPUI_Test]
14:00:06,912 INFO [SoapUIProTestCaseRunner] Running Project [SOAPUI_Test], runType = SEQUENTIAL
14:00:06,928 INFO [SoapUIProTestCaseRunner] Running soapUI testcase [PostWithoutUUID TestCase]
14:00:06,931 INFO [SoapUIProTestCaseRunner] running step [Pre_JDBC Request]
14:00:06,945 ERROR [SoapUI] An error occured [No suitable driver], see error log for details
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:384)
at com.eviware.soapui.support.jdbc.JdbcUtils.initConnection(JdbcUtils.java:48)
at com.eviware.soapui.impl.wsdl.panels.teststeps.JdbcSubmit.getDatabaseConnection(JdbcSubmit.java:221)
at com.eviware.soapui.impl.wsdl.panels.teststeps.JdbcSubmit.prepare(JdbcSubmit.java:264)
at com.eviware.soapui.impl.wsdl.panels.teststeps.JdbcSubmit.runQuery(JdbcSubmit.java:195)
at com.eviware.soapui.impl.wsdl.panels.teststeps.JdbcSubmit.run(JdbcSubmit.java:160)
at com.eviware.soapui.impl.wsdl.panels.teststeps.JdbcSubmit.<init>(JdbcSubmit.java:74)
at com.eviware.soapui.impl.wsdl.panels.teststeps.JdbcRequest.submit(JdbcRequest.java:136)
at com.eviware.soapui.impl.wsdl.teststeps.JdbcRequestTestStep.run(JdbcRequestTestStep.java:179)
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:139)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:452)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:314)
at java.util.concurrent.FutureTask.run(FutureTask.java:149)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:735)

The pom I have is as follows:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>tests.soapui</groupId>
<artifactId>SoapUI-Maven</artifactId>
<version>1.0-SNAPSHOT</version>

<pluginRepositories>
<pluginRepository>
<id>eviwarePluginRepository</id>
<url>http://www.eviware.com/repository/maven2
</url>
</pluginRepository>
</pluginRepositories>

<build>
<plugins>
<plugin>
<groupId>eviware</groupId>
<artifactId>maven-soapui-pro-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<projectFile>soapUI_project_files/soapui-project.xml</projectFile>
<host>https://localhost</host>
</configuration>
</plugin>
</plugins>
</build>
</project>
  • First of all, I assume that you can run the test case from within soapUI without problem?

    If so... If your JDBC driver are of Type-II it has a native component in addition to a Java component. The native component (db2jdbc.dll) must be loaded by placing the folder that contains it on the java.library.path using the Paths preference page for the plugin. You can read more about different types of JDBC-DB2 drivers here http://www.ibm.com/developerworks/data/ ... 512kokkat/ .

    Please let us know if this works for you.

    /Henrik
    www.eviware.com
  • kamahade's avatar
    kamahade
    Regular Contributor
    Thanks.. I think my problem as well

    Works OK when using this: com.ibm.db2.jcc.DB2Driver
    instead of COM.ibm.db2.jdbc.app.DB2Driver

    to add to this, I have added extra "s" to driver -> com.ibm.db2.jcc.DB2DriverS