Forum Discussion

Xanxir's avatar
Xanxir
New Contributor
16 years ago

Multiple projects with the soapui plugin.

It would be extremely convenient and very much appreciated to have the Maven plugin be able to run multiple SOAP UI projects. Thank you.

28 Replies

  • redfish4ktc2's avatar
    redfish4ktc2
    Super Contributor
    Hi, thanks for giving a try to the plugin.
    The stable 4.6.3.1 version should be available in a few hours, I have just deployed it.

    About the fact you was forced to manually download dependencies: you have to configure access to the regular soapui repository as when you use the SmartBear implementation (see https://github.com/redfish4ktc/maven-so ... issues/110 and if this is not clear I can improve the documentation)
    Your error may come from here. I suggest you to backup the manually downloaded dependency and remove them from your maven local dependency. Then run the plugin again, dependencies should be correctly downloaded

    There are a lot of CI jobs running tests of the plugin using a fresh maven repository at every run, so I am pretty confident about the fact that the api incompatibility comes from your environment.
  • apattanayak's avatar
    apattanayak
    Occasional Contributor
    redfish4ktc2

    Thank you for your response. This is what I have done :

    - Used stable version 4.6.3.1
    - Removed all the manually downloaded and disabled the dependency lines(which I added at the beginning)
    - Used the required plug in repositories(did it previously as well, seeing the wiki), which looks like :
    <pluginRepositories>
    <pluginRepository>
    <id>smartbear-sweden-plugin-repository</id>
    <url>http://www.soapui.org/repository/maven2/</url>
    </pluginRepository>
    <pluginRepository>
    <id>sonatype-snapshots</id>
    <url>http://oss.sonatype.org/content/repositories/snapshots</url>
    <snapshots>
    <enabled>true</enabled>
    </snapshots>
    <releases>
    <enabled>false</enabled>
    </releases>
    </pluginRepository>
    </pluginRepositories>


    - Then executed my test, I get missing class defs.. so I enabled the dependency lines which were :

               <dependency>
    <groupId>commons-cli</groupId>
    <artifactId>commons-cli</artifactId>
    <version>1.2</version>
    </dependency>
    <dependency>
    <groupId>net.sf.squirrel-sql.thirdparty-non-maven</groupId>
    <artifactId>com-fifesoft-rsyntaxtextarea</artifactId>
    <version>1.0.0</version>
    </dependency>
    <dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy-all</artifactId>
    <version>2.2.2</version>
    </dependency>
    <dependency>
    <groupId>org.apache.xmlbeans</groupId>
    <artifactId>xmlbeans</artifactId>
    <version>2.6.0</version>
    </dependency>
    <dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.1-alpha2</version>
    </dependency>
    <dependency>
    <groupId>com.jgoodies</groupId>
    <artifactId>looks</artifactId>
    <version>2.2.2</version>
    </dependency>
    <dependency>
    <groupId>com.jgoodies</groupId>
    <artifactId>jgoodies-forms</artifactId>
    <version>1.6.0</version>
    </dependency>


    - Now I am getting the same problem as before,

    Caused by: org.apache.maven.plugin.PluginContainerException: An API incompatibility was encountered while executing com.github.redfish4ktc.soapui:maven-soapui-extension-plugin:4.6.3.1:test:
    ava.lang.NoSuchMethodError
    : com.eviware.soapui.impl.wsdl.support.http.SoapUIMultiThreadedHttpConnectionManager.setMaxTotal(I)V


    Would you recommend any other steps, which I should do? Thank you.
  • redfish4ktc2's avatar
    redfish4ktc2
    Super Contributor
    apattanayak

    could you run maven with the -e option and post logs? it should print the full stacktrace of the error and maybe can provide a candidate which try to call the missing method

    could you also try to run the same project with the SmartBear soapui-pro-maven-plugin? you should get the same error because the maven plugin implementations do not call directly the missing method (everything is delegated to the testRunner - which is also used when running from the command line)

    about the missing dependencies you need to add: do you have specific code (groovy, listeners, ...) that need them? Except the jgoodies forms (see https://github.com/redfish4ktc/maven-so ... /issues/85) and maybe rsyntaxtextarea, I am not aware of missing dependencies in the plugin declaration
  • apattanayak's avatar
    apattanayak
    Occasional Contributor
    redfish4ktc2

    Thank you for your response.

    I did run with -e option, which resulted the stacktrace(part of it) :

    [ERROR] Failed to execute goal com.github.redfish4ktc.soapui:maven-soapui-extension-plugin:4.6.3.1:test (default) on project soapui-maven2-plugin: Execution default of goal com.github.redfish
    4ktc.soapui:maven-soapui-extension-plugin:4.6.3.1:test failed: An API incompatibility was encountered while executing com.github.redfish4ktc.soapui:maven-soapui-extension-plugin:4.6.3.1:test:
    java.lang.NoSuchMethodError: com.eviware.soapui.impl.wsdl.support.http.SoapUIMultiThreadedHttpConnectionManager.setMaxTotal(I)V

    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
    Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal com.github.redfish4ktc.soapui:maven-soapui-extension-plugin:4.6.3.1:test failed: An API incompatibility
    was encountered while executing com.github.redfish4ktc.soapui:maven-soapui-extension-plugin:4.6.3.1:test: java.lang.NoSuchMethodError: com.eviware.soapui.impl.wsdl.support.http.SoapUIMultiThr
    eadedHttpConnectionManager.setMaxTotal(I)V



    Wondering, if 'SoapUIMultiThreadedHttpConnectionManager' has been properly build with the latest stable version?


    I checked with soap-ui-pro-maven-plugin version, 4.6.1 and it worked all fine, but with that version, I think, I can not use the latest feature of including/excluding project files by their pattern. I took the latest available version of soap-ui-pro-maven-plugin (version 4.6.4). Here I get the same error as I faced with 'maven-soapui-extension-plugin' version 4.6.3.1 missing dependencies and then the same error mentioned before. In my code, I have groovy, jdbc dependencies, which I added manually.

    Would you suggest any other steps which I should do; having the new feature of executing multiple projects with include and exclude option, would be really helpful. Thank you.
  • redfish4ktc2's avatar
    redfish4ktc2
    Super Contributor
    apattanayak the -e option does not help

    about the maven-soapui-extension-plugin version: this is not documented, but versions always follow <soapui version>.<increment>. So 4.6.3.1 uses SoapUI 4.6.3. So to check SmartBear implementation, you should try the 4.6.3 version

    anyway, you could also try soapui-pro-maven-plugin 4.6.2 and 4.6.3 to know when the problem has been introduced.

    I have another question, does you manage your project with SoapUI free? you could try with soapui-maven-plugin (free version) and maven-soapui-extension-plugin with the runnerType parameter set to OSS to check if you still have the issue.
    The problem may only occur with the pro version and these tests will confirm this

    Last thing, when you use maven-soapui-extension-plugin, the logs suggest that you use the test goal instead of the test-multi. Only the test-multi will allow you to run serveral projet by providing directories with include/exclude to find projects
  • apattanayak's avatar
    apattanayak
    Occasional Contributor
    redfish4ktc2

    It seems the problem has been introduced with version 4.6.3 of 'soapui-pro-maven-plugin'.

    We use SOAP UI pro, the licensed version to manage our projects. I will do the test with runnertype parameter. The goal 'test-multi' is not yet available for the latest soapui pro version(4.6.4), that's the reason, I am looking forward to 'maven-soapui-extension-plugin' version 4.6.3.1. Wondering, if is there any plan to fix the problem with 'SoapUIMultiThreadedHttpConnectionManager.setMaxTotal' soon? Thank you.
  • redfish4ktc2's avatar
    redfish4ktc2
    Super Contributor
    ok,
    about the 'SoapUIMultiThreadedHttpConnectionManager.setMaxTotal' issue, I suggest you to open a new issue in the pro forum as the problem is in the SmartBear implementation of SoapUI Pro or in the maven pro plugin. That way, you should get support directly from SmartBear
    There is also a 5.0.0-beta version of the maven plugin, maybe there is no issue with it (warning: I have some trouble when using this version, see viewtopic.php?f=2&t=23656). Or also the 4.6.4 maintenance version called (called 4.6.4-m-SNAPSHOT)
    More generally, this is not the 1st time the maven pro plugin has specific issue, see viewtopic.php?f=2&t=23555 for example


    about testing the free plugin, it may also fail especially if you rely on some SoapUI pro only features

    about the test-multi, I guess you have several SoapUI projects, maybe you have some which are not affected by the missing method bug. So they should let you check the new test-multi goal :-)
    I plan to release a 4.6.4.0 version of plugin in a few days to match the Soapui PRO 4.6.4 version you are currently using (see https://github.com/redfish4ktc/maven-so ... issues/106)