| package com.ruoyi.utils.soap; | 
|   | 
| import org.apache.axis.client.Call; | 
| import org.apache.axis.client.Service; | 
| import org.apache.axis.encoding.XMLType; | 
|   | 
| import javax.xml.namespace.QName; | 
| import java.util.HashMap; | 
| import java.util.Map; | 
|   | 
|   | 
| /**设备健康接口 | 
|  * 20221130 | 
|  * zj | 
|  * */ | 
| public class ARDSoapUtil { | 
|     private static String  url = "http://221.1.80.74:15024/ZX/ZX2WebService.asmx"; | 
|      | 
|     /**post方法获取数据 | 
|      * String url , | 
|      * **/ | 
|     public static String  postSoapResult(String url , String method ,Map<String , Object> map){ | 
|         try { | 
|             //字符集 | 
|             String encodingStyle = "utf-8"; | 
|             //WSDL的地址 | 
|             String endpoint = url + "?wsdl";   | 
|             //命名空间,在WSDL中对应的标签是:参见说明第3条                                     | 
|             String targetNamespace = "http://tempuri.org/"; | 
|             //具体方法的调用URI,在WSDL中对应的标签是:参见说明第4条 | 
|             String soapActionURI = "http://tempuri.org/" + method; | 
|             //具体调用的方法名,在WSDL中对应的标签是:参见说明第5条 | 
|             | 
|             Service service = new Service();   | 
|             Call call = (Call) service.createCall();  | 
|             call.setSOAPActionURI(soapActionURI); | 
|             call.setTargetEndpointAddress(new java.net.URL(endpoint));  //设置目标接口的地址 | 
|             call.setEncodingStyle(encodingStyle);//设置传入服务端的字符集格式如utf-8等 | 
|             call.setOperationName(new QName(targetNamespace,method));// 具体调用的方法名,可以由接口提供方告诉你,也可以自己从WSDL中找   | 
|             call.setUseSOAPAction(true); | 
|             call.setReturnType(XMLType.XSD_STRING); | 
|             Object[] o = new Object[map.size()]; | 
|             int i=0; | 
|             for (String key :map.keySet() ){ | 
|                  call.addParameter(new QName(targetNamespace , key), | 
|                          XMLType.XSD_INTEGER, | 
|                          javax.xml.rpc.ParameterMode.IN); | 
|                  o[i] = map.get(key); | 
|                  i++; | 
|             } | 
|             String  result =  (String) call.invoke(o); | 
|             return result; | 
|         } catch (Exception e) { | 
|             e.printStackTrace(); | 
|             return ""; | 
|         } | 
|          | 
|     } | 
|   | 
| } | 
|   | 
|      |