如何创建SOAP UI项目并在Java中运行请求

我想创建一个将执行以下操作的Java类
1.使用wsdl加载/创建SOAPUI项目。
2.对该wsdl中的操作运行请求。

这是我的SoapJavaTest.java文件(尽管这不完整,它只是在SOAP UI中注册一个项目并打印其中包含的操作)

public class SoapJavaTest{ public static void main(String args[]) throws Exception{ String projectFile ="SoapUIJavaTest\\SoapUIProjects\\soapui-project1.xml"; WsdlProject project = new WsdlProject (projectFile); //WsdlProject project = new WsdlProject(); WsdlInterface[] wsdls = WsdlImporter.importWsdl(project, "http://metalmaker.net/metalmaker.asmx?WSDL"); WsdlInterface wsdl = wsdls[0]; for (Operation operation : wsdl.getOperationList()){ WsdlOperation op = (WsdlOperation) operation; System.out.println("OP:"+op.getName());System.out.println(op.createRequest(true)); System.out.println("Response:");System.out.println(op.createResponse(true)); } } } 

我收到以下错误 – ‘NoSuchMethodError:org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(Ljava / lang / ClassLoader; Ljava / lang / String;)Lorg / apache / xmlbeans / SchemaTypeSystem;’。

我已经包含了以下jar文件1. commons-cli-1.2
2. commons-httpclient-3.1
3. log4j
4. soapui-3.6-beta2
5. soapui-xmlbeans-2.0.2
6. wsdl-xmlbeans-1.1
7. xbean-1.0.3
8. xmlbeans-xmlpublic-2.2.0
9. XmlSchema-1.0.3

我错过了什么jar文件,或者我使用的是错误的类? 任何帮助,将不胜感激。

最后我能够解决这个问题。 我正在创建一个SoapUI项目,保存它并通过代码发送所有请求。 有关详细信息,请参阅此处的链接 。 谢谢。

您是否考虑过使用maven-soapui-pro-plugin而不是以编程方式调用SoapUI来运行测试?

这里是Apache Maven的介绍,如果你需要阅读它:)

现在,假设您有一个maven项目,请编辑您的pom.xml并添加类似于下面的配置文件。 然后你可以用-Dsoapuitests运行maven,你的SoapUI测试套件就会运行。

   soapuitests    eviware maven-soapui-pro-plugin 4.5.1   soapuitests test  test   http://myserver/myendpoint  ${project.basedir}/src/test/resources/my-soapui-project.xml    ${project.build.directory}\soapui-logs        

我希望这对你有所帮助,祝你好运。