废话不多说 直接上代码:
maven 库: 或者下载后 自己取出jar包用
<!-- soap -->
<dependency>
<groupId>com.xkcoding</groupId>
<artifactId>soap-builder</artifactId>
<version>0.0.2</version>
</dependency>
测试main方法 类可以直接跑 测试地址是天气预报的WebService
import org.reficio.ws.builder.SoapBuilder;
import org.reficio.ws.builder.SoapOperation;
import org.reficio.ws.builder.core.Wsdl;
import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class GetWebServiceFunction {
public static List<String> getBindingOperations(String wsdlUrl) {
List<String> operationList = new ArrayList();
List<SoapOperation> soapOperationList = new ArrayList();
Wsdl parser = Wsdl.parse(wsdlUrl);
List<QName> bindQnames = parser.getBindings();
for (QName qName : bindQnames) {
SoapBuilder soapBuilder = parser.binding().localPart(qName.getLocalPart()).find();
soapOperationList.addAll(soapBuilder.getOperations());
}
for (SoapOperation soapOperation : soapOperationList) {
//operationList.add(soapOperation.getOperationName());
operationList.add(soapOperation.getOperationName());
}
return operationList;
}
public static void main(String[] args) {
List<String> bindingOperations = GetWebServiceFunction.getBindingOperations("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl");
System.out.println(bindingOperations);
}