我试图直接在我的单元测试中调用SOAPUI
类,以便我可以直接提供链接到WSDL
并调用单个操作。使用SOAPUI编译错误直接在单元测试代码中的类
这样做背后是,我打算建立单独的测试用例和使用这些类套件(无需使用实际UI)
我指的例子on this page的SOAPUI
网站上的原因。我下载了了SoapUI Maven插件所需要的所有的依赖上市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 .
有没有人试图运行这个例子?如果有人能够指出我对这个主题有更清晰详细的在线教程/博客,那将是非常棒的。
你能分享一下你的代码吗?快速解决方法是检查是否已经用一些运行的api url替换了API URL“http://www.mycorp.com/somewsdl.wsdl”,因为这是示例url。 – Riky 2015-03-31 20:55:57
@Riky请参阅更新后的帖子。谢谢 !! – Chiseled 2015-03-31 21:22:43
你说过:“我已经下载了SoapUI maven插件所需的所有依赖项”。你知道每个人都有自己的依赖关系,对吗? – SiKing 2015-03-31 21:31:11