使用WSDL网址

时间:2019-03-21 15:05:01

标签: java soap wsdl soapui soap-client

我有一个wsdl url,必须使用它来创建一个模板文件,该模板文件包含特定API的参数列表,并为该请求创建一个pojo文件。我尝试使用soapui-api,但由于无法满足依赖关系而无法这样做(遵循所有的stackoverflow帮助来解决jar问题,但它不起作用):

代码:

WsdlProject project = new WsdlProject();
        WsdlInterface[] wsdls = WsdlImporter.importWsdl(project, "http://XXXXX?wsdl");
        WsdlInterface wsdl = wsdls[0];
        for (com.eviware.soapui.model.iface.Operation operation : wsdl.getOperationList()) {
            WsdlOperation wsdlOperation = (WsdlOperation) operation;
            System.out.println("OP:"+wsdlOperation.getName());
            System.out.println("Request:");
            System.out.println(wsdlOperation.createRequest(true));
            System.out.println("Response:"); System.out.println(wsdlOperation.createResponse(true));
    }

另一种方法,我尝试使用解析器解析wsdl url并获取可能请求名称的列表。我能够获取请求列表,但无法获取创建该请求所需的参数。

 WSDLParser parser = new WSDLParser();
    Definitions wsdl = parser.parse("http://XXXX?wsdl");
    String str = wsdl.getLocalBindings().toString();

for(Message msg : wsdl.getMessages()) {
      for (Part part : msg.getParts()) {
            System.out.println(part.getElement());
       }
 }

请通过一种方法之一帮助我了解如何从wsdl网址获取参数列表。

1 个答案:

答案 0 :(得分:0)

为此,有多种方法可供使用,请尝试搜索WS-import工具,它是执行此操作的工具之一。

这是这里最简单,最好的示例

WS_Import_tool

做到这一点的另一种方法是-

Apache_CFX

如果要使用Eclipse生成它们,那也是可能的。

签出-

How do you convert WSDLs to Java classes using Eclipse?

SOAP UI面临哪些错误 您可以引用此链接以解决问题

Generate_java_from_Wsdl