直接在单元测试代码中使用SOAPUI 类编译错误
Compilation errors using SOAPUI Classes directly in the unit test code
我试图在我的单元测试中直接调用 SOAPUI
类,这样我就可以直接将 link 提供给 WSDL
并调用单独的操作.
这样做的原因是,我打算使用这些 类 创建单独的测试用例和套件(不必使用实际的 UI)
我指的是例子on this page on the SOAPUI
website. I have downloaded all dependencies required for SoapUI maven plugin listed here
修复以下代码的项目构建路径后:
import com.eviware.soapui.impl.WsdlInterfaceFactory;
import com.eviware.soapui.impl.wsdl.WsdlInterface;
import com.eviware.soapui.impl.wsdl.WsdlOperation;
import com.eviware.soapui.impl.wsdl.WsdlProject;
import com.eviware.soapui.impl.wsdl.WsdlRequest;
import com.eviware.soapui.impl.wsdl.WsdlSubmit;
import com.eviware.soapui.impl.wsdl.WsdlSubmitContext;
import com.eviware.soapui.model.iface.Response;
public class someClassName
{
// Create new wsdl project
WsdlProject wsdlProject = new WsdlProject();
// Import webservice wsdl
WsdlInterface iface = WsdlInterfaceFactory.importWsdl(wsdlProject , "http://localhost:8080/MyWebService/MyWebService?wsdl", true)[0];
// Get desired operation
WsdlOperation someOp = (WsdlOperation) iface.getOperationByName("someOpName");
// Create a new empty request for that operation
WsdlRequest someOpRequest = someOp.addNewRequest("My request");
// Generate the request content from the schema
someOpRequest.setRequestContent(someOp.createRequest(true));
// Submit the request
WsdlSubmit submit = (WsdlSubmit) someOpRequest.submit(new WsdlSubmitContext(someOpRequest), false);
// Wait for the response
Response response = submit.getResponse();
// Print the response
String content = response.getContentAsString();
System.out.println(content);
}
我收到编译错误:。
Syntax error on token "setRequestContent", Identifier expected after this token .
有没有人试过 运行 这个例子?如果有人可以向我指出有关此主题的更清晰、更详细的在线 tutorial/blog,那就太好了。
我在 eclipse 中对我的项目进行了 mavenizing,并在我的 pom.xml 中添加了 "soapui-maven-plugin" 依赖项。为了使这项工作正常进行,我在项目的 pom.xml.
中包含了以下存储库
我为可能 运行 遇到相同问题的人发布这篇文章:
<repositories>
<repository>
<id>maven2</id>
<url>https://www.soapui.org/repository/maven2/</url>
</repository>
<repository>
<id>activation</id>
<url>https://www.soapui.org/repository/activation/jars</url>
</repository>
<repository>
<id>xmlbeans</id>
<url>https://www.soapui.org/repository/xmlbeans/jars</url>
</repository>
<repository>
<id>bouncycastle</id>
<url>https://www.soapui.org/repository/bouncycastle/jars</url>
</repository>
<repository>
<id>javamail</id>
<url>https://www.soapui.org/repository/javamail/jars</url>
</repository>
</repositories>
我是 Maven 的新手,从我在论坛上阅读的内容来看,似乎在 pom 中包含多个存储库是一种不好的做法。
我做了使代码正常工作所需的工作。所有专家都可以随时改进这个答案。
我也遇到了 this useful link ,它阐明了为什么 "soapui-maven-plugin" 缺少依赖项,也就是说,如果您使用的是中央 Maven 存储库。
我试图在我的单元测试中直接调用 SOAPUI
类,这样我就可以直接将 link 提供给 WSDL
并调用单独的操作.
这样做的原因是,我打算使用这些 类 创建单独的测试用例和套件(不必使用实际的 UI)
我指的是例子on this page on the SOAPUI
website. I have downloaded all dependencies required for SoapUI maven plugin listed here
修复以下代码的项目构建路径后:
import com.eviware.soapui.impl.WsdlInterfaceFactory;
import com.eviware.soapui.impl.wsdl.WsdlInterface;
import com.eviware.soapui.impl.wsdl.WsdlOperation;
import com.eviware.soapui.impl.wsdl.WsdlProject;
import com.eviware.soapui.impl.wsdl.WsdlRequest;
import com.eviware.soapui.impl.wsdl.WsdlSubmit;
import com.eviware.soapui.impl.wsdl.WsdlSubmitContext;
import com.eviware.soapui.model.iface.Response;
public class someClassName
{
// Create new wsdl project
WsdlProject wsdlProject = new WsdlProject();
// Import webservice wsdl
WsdlInterface iface = WsdlInterfaceFactory.importWsdl(wsdlProject , "http://localhost:8080/MyWebService/MyWebService?wsdl", true)[0];
// Get desired operation
WsdlOperation someOp = (WsdlOperation) iface.getOperationByName("someOpName");
// Create a new empty request for that operation
WsdlRequest someOpRequest = someOp.addNewRequest("My request");
// Generate the request content from the schema
someOpRequest.setRequestContent(someOp.createRequest(true));
// Submit the request
WsdlSubmit submit = (WsdlSubmit) someOpRequest.submit(new WsdlSubmitContext(someOpRequest), false);
// Wait for the response
Response response = submit.getResponse();
// Print the response
String content = response.getContentAsString();
System.out.println(content);
}
我收到编译错误:。
Syntax error on token "setRequestContent", Identifier expected after this token .
有没有人试过 运行 这个例子?如果有人可以向我指出有关此主题的更清晰、更详细的在线 tutorial/blog,那就太好了。
我在 eclipse 中对我的项目进行了 mavenizing,并在我的 pom.xml 中添加了 "soapui-maven-plugin" 依赖项。为了使这项工作正常进行,我在项目的 pom.xml.
中包含了以下存储库我为可能 运行 遇到相同问题的人发布这篇文章:
<repositories>
<repository>
<id>maven2</id>
<url>https://www.soapui.org/repository/maven2/</url>
</repository>
<repository>
<id>activation</id>
<url>https://www.soapui.org/repository/activation/jars</url>
</repository>
<repository>
<id>xmlbeans</id>
<url>https://www.soapui.org/repository/xmlbeans/jars</url>
</repository>
<repository>
<id>bouncycastle</id>
<url>https://www.soapui.org/repository/bouncycastle/jars</url>
</repository>
<repository>
<id>javamail</id>
<url>https://www.soapui.org/repository/javamail/jars</url>
</repository>
</repositories>
我是 Maven 的新手,从我在论坛上阅读的内容来看,似乎在 pom 中包含多个存储库是一种不好的做法。
我做了使代码正常工作所需的工作。所有专家都可以随时改进这个答案。
我也遇到了 this useful link ,它阐明了为什么 "soapui-maven-plugin" 缺少依赖项,也就是说,如果您使用的是中央 Maven 存储库。