Я расширил HttpsServiceConnectionSE с помощью кода в вашей первой ссылке, и теперь он работает. Спасибо за вашу помощь.
ользую ksoap2-android, чтобы позвонить в службу wcf через SSL. Я могу заставить его работать без SSL, но теперь я хочу сделать вызов через SSL, но я столкнулся с некоторыми проблемами.
Я использую HttpsTransportSE вместо HttpTransportSE, но получаю сообщение об ошибке: javax.net.ssl.SSLException: сертификат недоверенного сервера
Как я могу это исправить?
Можно ли добавить сертификат сервера в хранилище ключей в Android для решения проблемы?
private static final String SOAP_ACTION = "http://example.com/Service/GetInformation";
private static final String METHOD_NAME = "GetInformation";
private static final String NAMESPACE = "http://example.com";
private static final String URL = "dev.example.com/Service.svc";
public static Result GetInformation()
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
PropertyInfo property = new PropertyInfo();
property.name = "request";
Request request =
new Request("12", "13", "Ben");
userInformationProperty.setValue(request);
userInformationProperty.setType(request.getClass());
request.addProperty(property);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
envelope.addMapping(NAMESPACE, "Request",new Request().getClass());
HttpsTransportSE transport = new HttpsTransportSE(URL, 443, "", 1000);
//HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
transport.debug = true;
try
{
transport.call(SOAP_ACTION, envelope);
return Result.FromSoapResponse((SoapObject)envelope.getResponse());
}
catch (IOException e)
{
e.printStackTrace();
}
catch (XmlPullParserException e)
{
e.printStackTrace();
}
return null;
}