繁体   English   中英

如何在Java中使用SoapUI生成示例SOAP请求

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM