首页 > 解决方案 > 无法通过 Android 10 / API 29 中的 Web 服务获取数据

问题描述

我正在使用 Soap 类通过 Web 服务从数据库中获取数据,它使用给定的代码可以正常工作:

        public String Call() {
        SoapObject request = new SoapObject(TARGET_NAMESPACE,OPERATION_NAME);

        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);
        envelope.dotNet = true;

        envelope.setOutputSoapObject(request);

        HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
        Object response = null;
        try {
           httpTransport.call(SOAP_ACTION, envelope);
           response = envelope.getResponse();
        } catch (Exception exception) {
            response = exception.toString();
        }
        return response.toString();
    }

此代码在 API 28 / Android 9 之前工作正常,但相同的代码在 API 29/Android 10 中停止工作,因为我的客户端从 Android 9 更新到 Android 10。我所有的客户都更新了 android 10 现在无法连接,而直到 Android 9 这正在工作正确。我还在我的 Web 服务站点上安装了 SSL。但仍然无法获取数据。应用程序只是崩溃而不给出任何异常

httpTransport.call(SOAP_ACTION, 信封);

在 API 29 中

标签: androidsoap

解决方案


我已经完成了,因为我正在使用

ksoap2-android-2.5.2.jar

在我的应用程序中,我只是将其替换为

ksoap2-android-assembly-3.6.4-jar-with-dependencies.jar

它现在正在工作


推荐阅读