• WebService调用(基于KSOAP2)


     public static boolean getData(String param) {
            //WebService服务器地址
            String SERVICE_URL = "http://222.222.221.197:82/webserviceurl.asmx";
            //URL命名空间
            String SERVICE_NS = "http://namespace.org/";
            //访问方法
            String methodName = "myMethod";
    
            // 创建SoapObject对象,
            // 创建该对象时需要传入所要调用Wb Service的命名空间、Web Service方法名;
            SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
            // 如果有参数要传给Web Service服务器,
            // 调用SoapObject对象的addProperty(String name,Object value)方法来设置参数,
            // 该方法的name参数指定参数名;
            // value参数指定参数值
            soapObject.addProperty("p1", param);
            // 使用SOA1.1协议创建Envelop对象
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
            envelope.bodyOut = soapObject;
            // 是否调用DotNet开发的WebService ,设置与.net提供的Web Service 保持较好的兼容性
            envelope.dotNet = true; //如果不是.net的可以删除此行
            try {
                // 通过HttpTransportSE传输对象,传入WebService服务器地址
                HttpTransportSE ht = new HttpTransportSE(SERVICE_URL);
                // 调用HttpTransportSE对象的call()方法,其中call的第一个参数soapAction,
                // 第二个为SoapSerializationEvelope对象 调用远程Web Service;
                ht.call(SERVICE_NS + methodName, envelope);
                if (envelope.getResponse() != null) {
                    // 获取服务器响应返回的SOAP消息
                    /*
                     * SoapObject result = (SoapObject) envelope.bodyIn;
                     * SoapObject detail = (SoapObject) result.getProperty(methodName+"Result");
                     */
                    /*
                     * 获取返回的数据 SoapObject object = (SoapObject) envelope.bodyIn;
                     * 获取返回的结果 String result = object.getProperty(0).toString();
                     */
                    // 解析服务器相应的SOAP消息-字符串
                    String result = envelope.getResponse().toString();
                    if (result.equals("success")) {
                        return true;
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
            } catch (XmlPullParserException e) {
                System.out.println("********************异常啦");
            }
            return false;
    }

    WebService是一种跨编程语言和跨操作系统平台的远程调用技术。XML+XSD(XML Schema),SOAP(Simple Object Access Protocol)和WSDL(Web Services Description Language)就是构成WebService平台的三大技术。SOAP协议 = HTTP协议 + XML数据格式

    适用场合:1、跨防火墙通信。2、应用程序集成。3、B2B集成。4、软件和数据重用。

    不适用场合:1、单机应用程序。2、局域网的同构应用程序

    本文参考webService博客ksoap2使用博客

  • 相关阅读:
    汇付 支付,痛苦的接入过程
    路由集合中已存在名为“ XXXX” 的路由
    博客目录
    (转载)为什么使用APP Bundle
    安卓基础:后台任务
    安卓基础:应用权限
    安卓资源的使用 二
    kotlin学习三:lambda 和内联函数
    kotlin学习二:函数
    kotlin学习一:基础语法
  • 原文地址:https://www.cnblogs.com/aeolian/p/7735363.html
Copyright © 2020-2023  润新知