【问题标题】:How to customize soapUI library to generate request & response from WSDL?如何自定义soapUI库以从WSDL生成请求和响应?
【发布时间】:2023-03-15 01:05:01
【问题描述】:

我正在开发一个模块,它将采用wsdl 并生成请求和响应文档。为此,我正在使用代码Post中提到的soapui库@

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

所以当我使用它来生成肥皂请求和响应时,即使它不在 for 循环中,也会在后台运行一些东西(我可以在 net beans 中看到)。请帮助我自定义soapUI库以调用适当的方法来生成请求和响应并释放任何创建/初始化的资源。

【问题讨论】:

    标签: java soap wsdl 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
         }
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2020-04-11
      • 2016-06-24
      • 2015-07-27
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      • 1970-01-01
      相关资源
      最近更新 更多