Pregunta

I'm trying to use webservicex.net in android for currency conversion using ksoap2.

However, it returns 0!! It doesn't even throw any exception, just returns 0 even if I give wrong parameter, though it works just fine using provided webservice.

String NAME_SPACE = "http://www.webservicex.net/";
Static String URL = "http://www.webservicex.net/currencyconvertor.asmx";
Static String SOAP_ACTION = "http://www.webserviceX.NET/ConversionRate";
Static String METHOD_NAME = "ConversionRate";

String webResult = null;

SoapObject request = new SoapObject(Strings.NAME_SPACE, Strings.METHOD_NAME);
request.addProperty("FromCurrency", "USD");
request.addProperty("ToCurrency", "PKR");

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

HttpTransportSE androidHttpRequest = new HttpTransportSE(Strings.URL);
androidHttpRequest.debug = true;
try {

    for (int i = 0; i < 3; i++) {
        androidHttpRequest.call(Strings.SOAP_ACTION, envelop);
        webResult = envelop.getResponse().toString();

        if (webResult != null)
            break;
        }

} catch (Exception e) {
     e.printStackTrace();
    Log.e("APP", "ERROR: " + e.getMessage());   
}

return webResult;

Please correct me if I'm doing anything wrong.

¿Fue útil?

Solución

I was using wrong NAME_SPACE so it wasn't fetching expected result.

Little change worked for me.

String NAME_SPACE = "http://www.webserviceX.NET/";   // WORKS WITH THIS

String NAME_SPACE = "http://www.webservicex.net/";   // BRINGS 0
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top