Ksoap2 2.5.4 и HttpsTransportSE против AndroidHttpTransport - PullRequest
0 голосов
/ 04 мая 2011

Это нормально работает, но AndroidHttpTransport устарел:

AndroidHttpTransport t = new AndroidHttpTransport("http://a.com/service.asmx");
t.call(action, envelope);

Это дает SSLProtocolException (но я не хочу использовать SSL):

HttpsTransportSE t = new HttpsTransportSE("a.com", 80, "/service.asmx", timeout);
t.call(action, envelope);

Ответы [ 3 ]

5 голосов
/ 04 мая 2011

HttpTransportSE (URL-адрес строки) должен работать.

0 голосов
/ 14 июня 2013

Этот фрагмент кода работает для меня, также как и для вас:

String webServiceResponse = null; SoapObject result = null;

    String url ="http://a.com/service.asmx";

    String soapaction = namespace + method;
    SoapObject request_login = new SoapObject(namespace, method);
    request.addProperty(<field_name>, <value>);


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

    try {
        AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(
                url);
        androidHttpTransport.call(soapaction, envelope);
        if (envelope.bodyIn instanceof SoapFault) {
            String str = ((SoapFault) envelope.bodyIn).faultstring;
            Log.i("", str);
            webServiceResponse = null;
        } else {
            result_login_String = (SoapObject) envelope.bodyIn;
            webServiceResponse = result.getProperty(0)
                    .toString();
        }
    } catch (Exception e) {
        webServiceResponse = null;
    }
0 голосов
/ 21 ноября 2012

Тот же вопрос с fhucho :HttpTransportSE(String url) не в 2.5.4, там HttpTransportSE(host,port,filaname,timeout)

...