gpt4 book ai didi

java - Android ksoap2 通过 https

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:05 25 4
gpt4 key购买 nike

有没有人能够通过 https 使用 ksoap2 android 连接到 soap 服务器?

我一直收到“主机名<###>未验证”的错误

我在做

AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport (URL);
androidHttpTransport.call(SOAP_ACTION, envelope);

显然回顾其他不适用于 android 的 ksoap,您告诉我们通过 https 连接的不同调用,但我找不到在 android 版本中执行此操作的方法。

有没有人找到关于或知道要使用的调用指令的方法?

谢谢你的帮助

最佳答案

那么,您需要在 Android 设备上做两件事:

  1. 对于 SSL,您需要信任服务器证书。您可以像这里一样安装一个假的信任管理器(http://groups.google.com/group/android-developers/browse_thread/thread/1ac2b851e07269ba/c7275f3b28ad8bbc?lnk=gst&q=certificate,然后在您进行任何 SSL 通信/调用 ksoap2 之前调用 allowAllSSL())或者为此付出更多努力,使其更安全并遵循 saxos 的说明,我猜猜。
  2. 然后您需要使用 ksoap2-android 或更具体地说类 (KeepAlive)HttpsTransportSE,例如 new KeepAliveHttpsTransportSE(host, port, file, timeout);。参数进入 URL 对象,例如要访问 Jira 安装,它类似于 new KeepAliveHttpsTransportSE("host.whatever", 443, "/rpc/soap/jirasoapservice-v2", 1000)

顺便说一句:我在“Android 设备”上写道,因为我发现首先在 J2SE 环境中测试这些东西很有用,而这里的 (KeepAlive)HttpsTransportSE 东西在 lib 中丢失了(我使用了 ksoap2-j2se-full- 2.1.2.jar)。只需从 ksoap2-android 获取三个类 HttpsTransportSE、KeepAliveHttpsTransportSE 和 HttpsServiceConnectionSE 的源代码并将它们放入您的 J2SE 项目中并使用它们。它有效并且是提高生产力的第一步,可以使用未知的 Web 服务(如果您知道 Web 服务以及如何调整 ksoap2,它是没有用的,但它对我来说很方便,因为我是 ksoap2 及其 android 的新手分拆)。

关于java - Android ksoap2 通过 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2248147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com