我有一个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网址获取参数列表。
答案 0 :(得分:0)
为此,有多种方法可供使用,请尝试搜索WS-import工具,它是执行此操作的工具之一。
这是这里最简单,最好的示例
做到这一点的另一种方法是-
如果要使用Eclipse生成它们,那也是可能的。
签出-
How do you convert WSDLs to Java classes using Eclipse?
SOAP UI面临哪些错误 您可以引用此链接以解决问题