次のことを行う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。コモンズ-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プロジェクトを作成し、それを保存して、すべてコードを介してリクエストを送信しています。詳細については、ここで リンク を参照してください。ありがとう。
プログラムでSoapUIを呼び出してテストを実行するのではなく、maven-soapui-pro-plugin
の使用を検討しましたか?
これが Apache Maven の紹介です、それについて読む必要がある場合:)
これで、Mavenプロジェクトがある場合、pom.xml
を編集して、以下のようなプロファイルを追加します。次に、-Dsoapuitestsを使用してMavenを実行すると、SoapUIテストスイートが実行されます。
<profile>
<id>soapuitests</id>
<build>
<plugins>
<plugin>
<groupId>eviware</groupId>
<artifactId>maven-soapui-pro-plugin</artifactId>
<version>4.5.1</version>
<executions>
<execution>
<id>soapuitests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<endpoint>http://myserver/myendpoint</endpoint>
<projectFile>
${project.basedir}/src/test/resources/my-soapui-project.xml
</projectFile>
<projectProperties>
</projectProperties>
<outputFolder>${project.build.directory}\soapui-logs</outputFolder>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
これがあなたのお役に立てば幸いです。