[英]How to generate example SOAP request with SoapUI in java
我想用Java編寫一些代碼,這將為給定的WSDL文件生成示例SOAP請求。 下面的代碼針對Web服務的每種操作執行此操作,但是代替了SOAP請求中的示例數據。 我有問號。 我不需要執行請求,而只需編寫此請求。 我知道這是可能的(就像在SoapUi中一樣),但我不知道該怎么做。
謝謝您的幫助。
最好的祝福。 盧卡斯
import com.eviware.soapui.impl.wsdl.*;
public class Main {
public static void main(String[] args) {
WsdlProject project = new WsdlProject();
WsdlInterface[] wsdls = WsdlImporter.importWsdl(project, "sample.wsdl");
WsdlInterface wsdl = wsdls[0];
for (Operation operation : wsdl.getOperationList()) {
WsdlOperation op = (WsdlOperation) operation;
WsdlRequest request = op.addNewRequest("My Request");
System.out.println("#" + op.getName() + "#\n" + op.createRequest(true));
}
}
}
試試這個方法:
public String getRequestResult(String wsdl, String operationName)
throws Exception {
// create new project
WsdlProjectPro project = new WsdlProjectPro();
// import amazon wsdl
WsdlInterface iface = WsdlInterfaceFactory.importWsdl(project, wsdl,
true)[0];
// get desired operation
WsdlOperation operation = (WsdlOperation) iface
.getOperationByName(operationName);
// create a new empty request for that operation
WsdlRequest request = operation.addNewRequest("Java Req");
// generate the request content from the schema
request.setRequestContent(operation.createRequest(true));
// submit the request
@SuppressWarnings("rawtypes")
WsdlSubmit submit = (WsdlSubmit) request.submit(new WsdlSubmitContext(
request), false);
// wait for the response
Response response = submit.getResponse();
return response.getContentAsString();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.