maven-soapui-pro-plugin:参数化WSDl位置

时间:2012-06-20 22:07:58

标签: java maven wsdl soapui

我正在尝试使用maven-soapui-pro-plugin插件启动一个embbeded soapui mock webservice。 这在我的本地机器上完美运行,但是当项目文件引用本地文件系统上的wsdl时,显然会在持续集成平台上崩溃。 因此我有四种选择: 1 /找到一种将wsdl文件位置作为参数传递的方法。 2 /将此引用更改为HTTP(这意味着我必须安装Apache服务器) 3 / Manualy更改项目文件中对wsdl的引用。 4 /用另一个替换该插件

<plugin>
            <groupId>eviware</groupId>
            <artifactId>maven-soapui-pro-plugin</artifactId>
            <version>4.5.0</version>
            <dependencies>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.6</version>
                </dependency>
            </dependencies>    
            <executions>
                <execution>
                    <phase>process-test-resources</phase>
                    <goals>
                        <goal>mock</goal>
                    </goals>
                    <configuration>
                        <projectFile>D:\Documents and Settings\jhagai\Bureau\Toto-soapui-project.xml</projectFile>
                        <mockService>MockService</mockService>
                        <port>8888</port>
                        <path>/test</path>
                        <noBlock>true</noBlock>
                    </configuration>
                </execution>
            </executions>
        </plugin>

我觉得我是唯一一个面临这个问题的人有可能吗?

1 个答案:

答案 0 :(得分:0)

首先,您实际上不需要CI服务器上的wsdl文件。我们的CI服务器上有几个测试没有指向wsdl文件。 SoapUI使用wsdl文件生成项目和示例请求,但是如果在没有它的情况下运行测试并且测试配置正确,则不应该失败。我们已经实现了你列出的2号,但是测试人员不需要自己生成wsdls。

我在上面看到的问题是硬编码的项目文件。您应该能够通过在maven项目中保存项目并在那里指向它来处理这个问题(根据POM的位置映射到它)。