1

ksoap2を使用した通貨換算のために、Androidでwebservicex.netを使用しようとしています。

ただし、0を返します!! 例外をスローすることさえありません。間違ったパラメーターを指定しても0を返しますが、提供されたWebサービスを使用して問題なく動作します。

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;

私が何か間違ったことをしている場合は、私を修正してください。

4

1 に答える 1

0

間違った NAME_SPACE を使用していたため、期待される結果が得られませんでした。

少しの変更でうまくいきました。

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

String NAME_SPACE = "http://www.webservicex.net/";   // BRINGS 0
于 2012-10-14T06:22:57.620 に答える