Android ksoap2 через https

Может ли кто-нибудь подключиться к мыльному серверу с помощью ksoap2 android через https?

Я продолжаю получать ошибку: «Hostname <###> не был проверен»

я делаю

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

Очевидно, оглядываясь на другой ксоап, который не предназначен для андроида, для нас другой вызов для подключения через https, но я не могу найти способ сделать это в версии для Android.

Кто-нибудь нашел способ узнать или использовать вызов?

Спасибо за помощь

Android ksoap2 2.5.2, который поддерживает https

http://code.google.com/p/ksoap2-android/

Проблема в том, что я не уверен, как ее использовать

 HttpsTransportSE aht = new HttpsTransportSE(host, port, file, timeout) 

Что я могу ввести для параметра «файл»? Кто-нибудь есть идея?

Btw AndroidHttpTransport устарел в последней версии ksoap2

Ну, вам нужно сделать две вещи на устройствах Android:

  1. Для SSL вам нужно доверять сертификату сервера. Вы можете либо установить поддельный менеджер доверия, как здесь ( http://groups.google.com/group/android-developers/browse_thread/thread/1ac2b851e07269ba/c7275f3b28ad8bbc?lnk=gst&q=certificate, а затем вызвать allowAllSSL (), прежде чем выполнять какие-либо SSL-связь / вызов ksoap2) или приложить еще несколько усилий, сделайте это более безопасным и следуйте инструкциям саксонов, я думаю.
  2. Затем вам нужно использовать ksoap2-android или, более конкретно, класс (KeepAlive) HttpsTransportSE, как этот new KeepAliveHttpsTransportSE(host, port, file, timeout); , Параметры попадают в объект URL, поэтому, например, для доступа к установке Jira это что-то вроде new KeepAliveHttpsTransportSE("host.whatever", 443, "/rpc/soap/jirasoapservice-v2", 1000)

Btw: Я писал на «устройствах Android», потому что мне удобно тестировать материал сначала в среде J2SE, и здесь (KeepAlive) материал HttpsTransportSE отсутствует в lib (я использовал ksoap2-j2se-full-2.1.2 .jar). Просто получите источники для трех классов HttpsTransportSE, KeepAliveHttpsTransportSE и HttpsServiceConnectionSE от ksoap2-android и поместите их в свой проект J2SE и используйте их. Он работает и повышает производительность, чтобы получить первые шаги с неизвестным веб-сервисом (если вы знаете веб-сервис и как настроить ksoap2, это бесполезно, но это было удобно для меня, поскольку я был новичком в ksoap2 и его андроиде дополнительная выгода).

Вы можете установить имя файла как пустую строку (""). Рассматривая исходный код ksoap, он передает параметр java.net.URL, а с Sun Javadoc он ссылается на файл – «файл на хосте». Я отказался от попытки использовать ksoap2 для вызовов https SOAP. Проблема связана с тем, как Android обрабатывает SSL-соединения. Единственное решение, похоже, заключается в создании локального хранилища ключей для хранения сертификата SSL и написания обертки вокруг Apache Httpclient для использования сертификата. Поэтому я мог бы реализовать эти вызовы с помощью REST. Думаю, это то, что Google хочет от нас.