2013-02-06 60 views
1

我正在開發一個模塊,它將採取wsdl &生成請求&響應文件。對於這個我使用soapui庫本規範Post如何自定義soapUI庫以從WSDL生成請求和響應?

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)); 
    } 
} 
} 

所以提到,當我用它來生成SOAP請求&響應,事情是在後臺運行(這是我能在網豆看到),甚至是出於循環。請幫我定製soapUI庫以調用適當的方法來生成請求&響應&釋放任何創建/初始化的資源。

回答

1

這是我如何處理請求和響應

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 
    } 

希望它可以幫助

相關問題