web-dev-qa-db-ja.com

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。コモンズ-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ファイルが欠落していますか、それとも使用しているクラスが間違っていますか?どんな助けでもいただければ幸いです。

8
priti

ついに私はこれを解決することができます。私はSoapUIプロジェクトを作成し、それを保存して、すべてコードを介してリクエストを送信しています。詳細については、ここで リンク を参照してください。ありがとう。

7
priti

プログラムで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>

これがあなたのお役に立てば幸いです。

6
vikingsteve