本文介紹了如何定制soapUI庫以生成來自wsdl的請求和響應(yīng)?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我正在開發(fā)一個模塊,它將采用wsdl
&;生成請求和響應(yīng)文檔。為此,我使用代碼中提到的soapui
庫Post
package com.bbog.soap;
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.support.wsdl.WsdlImporter;
import com.eviware.soapui.model.iface.Operation;
public class WsdlAnalyzer {
public static void main(String[] args) throws Exception {
WsdlProject project = new WsdlProject();
WsdlInterface[] wsdls = WsdlImporter.importWsdl(project, "http://localhost:7000/Solicitud?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));
}
}
}
因此,當(dāng)我使用它來生成SOAP請求和響應(yīng)時,一些東西正在后臺運(yùn)行(我可以在Net Beans中看到),即使它不在for循環(huán)中。請幫助我自定義soapUI庫以調(diào)用適當(dāng)方法來生成請求&;響應(yīng)&;釋放任何創(chuàng)建/初始化的資源。
推薦答案
這就是我處理請求和響應(yīng)的方式
WsdlOperation wsdlOperation = (WsdlOperation) operation;
// create a new empty request for that operation
WsdlRequest request = wsdlOperation.addNewRequest("My request");
request.setTimeout("2000");
requestContent = wsdlOperation.createRequest(true);
request.setRequestContent(requestContent);
System.out.println("REQUEST: " + requestContent);
// submit the request
try {
WsdlSubmit submit = (WsdlSubmit) request.submit(new WsdlSubmitContext(request), false);
Status status = submit.getStatus(); //FINISHED OR ERROR
System.out.println("STATUS: " + status);
Response response = submit.getResponse();
System.out.println("RESPONSE: " + response.getContentAsString());
} catch (SubmitException ex) {
//Catch the exception
}
希望能有所幫助
這篇關(guān)于如何定制soapUI庫以生成來自wsdl的請求和響應(yīng)?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,