• WSDL接口调用


    import java.io.IOException;
    import java.util.Iterator;
    import java.util.Map;
    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.MarshalBase64;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    import org.xmlpull.v1.XmlPullParserException;
    public class WebServiceAction {
        public static SoapObject getSoapObject(String Wsdl, String methodName,
                Map<String, Object> inputmap, String NAMESPACE) {
            SoapObject reqSoapObject = new SoapObject(NAMESPACE, methodName);
            //遍历input
            Iterator iter = inputmap.entrySet().iterator();
            while (iter.hasNext()) {
                Map.Entry entry = (Map.Entry) iter.next();
                Object key = entry.getKey();
                Object val = entry.getValue();
                reqSoapObject.addProperty((String) key, val);
            }
    
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
            envelope.bodyOut = reqSoapObject;
            envelope.dotNet = false;
            envelope.encodingStyle="UTF-8";
            (new MarshalBase64()).register(envelope);
            HttpTransportSE transport = new HttpTransportSE(Wsdl, 20000);
            transport.debug = true;
            try {
                transport.call(NAMESPACE + methodName, envelope);
                if (envelope.getResponse() != null) {
                    SoapObject get_soap = (SoapObject) envelope.getResponse();
                    return get_soap;
                }
            } catch (IOException e) {
                e.printStackTrace();
    
            } catch (XmlPullParserException e) {
                e.printStackTrace();
            }
            return null;
        }
        
        public static Object getSoapObjectResponse(String Wsdl, String methodName,
                Map<String, Object> inputmap, String NAMESPACE) {
            SoapObject reqSoapObject = new SoapObject(NAMESPACE, methodName);
            // 遍历inputmap
            Iterator iter = inputmap.entrySet().iterator();
            while (iter.hasNext()) {
                Map.Entry entry = (Map.Entry) iter.next();
                Object key = entry.getKey();
                Object val = entry.getValue();
                reqSoapObject.addProperty((String) key, val);
            }
    
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
            envelope.bodyOut = reqSoapObject;
            envelope.dotNet = false;
            (new MarshalBase64()).register(envelope);
            HttpTransportSE transport = new HttpTransportSE(Wsdl, 30000);
            transport.debug = true;
            try {
                transport.call(NAMESPACE + methodName, envelope);
                if (envelope.getResponse() != null) {
                    return envelope.getResponse();
                }
            } catch (IOException e) {
                e.printStackTrace();
    
            } catch (XmlPullParserException e) {
                e.printStackTrace();
            }
            return null;
        }
        
    }

    另一个方法是拼接soap数据

  • 相关阅读:
    学习ASP.NET Core(11)-解决跨域问题与程序部署
    学习ASP.NET Core(10)-全局日志与xUnit系统测试
    学习ASP.NET Core(09)-数据塑形与HATEOAS及内容协商
    学习ASP.NET Core(08)-过滤搜索与分页排序
    学习ASP.NET Core(07)-AOP动态代理与日志
    学习ASP.NET Core(06)-Restful与WebAPI
    学习ASP.NET Core(05)-使用Swagger与Jwt认证
    基于NACOS和JAVA反射机制动态更新JAVA静态常量非@Value注解
    DES 加密解密 文件工具类
    springboot-mybatis双数据源配置
  • 原文地址:https://www.cnblogs.com/songyao/p/4204065.html
Copyright © 2020-2023  润新知