我試圖直接在我的單元測試中調用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