android - 无法通过 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 中
解决方案
我已经完成了,因为我正在使用
ksoap2-android-2.5.2.jar
在我的应用程序中,我只是将其替换为
ksoap2-android-assembly-3.6.4-jar-with-dependencies.jar
它现在正在工作
推荐阅读
- c# - 在 WPF (.NET Core) 中使用 C# 连接到 SQL Server 并计算表列的行数
- vba - vba用函数替换字符串
- typescript - NuxtJs Typescript 等待 asyncData 完成
- python - Plotly 相机中心(layout.scene.camera.center)使用什么单位?
- wso2 - 需要使用soap请求更新wso2中的服务提供者:SAML2 Web SSO Configuration details
- python - 如何使用 Pandas 中的列为 networkx 中的节点着色
- php - 当多列值存储在php中的一行excel中时如何分别获取值
- c - 只要先完成,父进程是否会自动获取其子进程?
- bash - 子shell中变量函数调用分配的错误退出代码
- powershell - 如何在电子邮件正文或控制台屏幕中将变量结果显示为表格?