ksoap2 бросая getResponse ()

При вызове веб-сервиса .net SOAP1.1 от андроида с помощью ksoap2 lib я встретил проблему кастинга ответа на пользовательский объект. Например, код ниже называют корректным после httpTransport.call (soapAction, soapEnvelope); и имейте данные внутри. Но я, cant't бросают его к конкретному объекту ни один в SoapObject или Вектор, поскольку я видел в нескольких примерах, я получаю CastException или простой ничто. Если кто-то знает, как иметь дело с ним, помогите.

public StatusSetting[] GetAllStatuses(String installation){
    StatusSetting[] statuses = null;
    String methodName =  "GetAllStatuses";
    String soapAction = NAMESPACE + "/" + methodName;
    SoapObject request = new SoapObject(NAMESPACE, methodName);
    request.addProperty("installation", installation);

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

    AndroidHttpTransport httpTransport = new AndroidHttpTransport(SERVICE_URL);
    try {
        httpTransport.call(soapAction, soapEnvelope);
        statuses = (StatusSetting[])soapEnvelope.getResponse();

    } catch (Exception e) {
        e.printStackTrace();
    }
    return statuses;
}
5
задан Maxim 15 June 2010 в 06:14
поделиться

1 ответ

Сначала попробуйте и посмотрите, получаете ли вы какой-либо ответ.

Object obj = envelope.bodyIn; 

, если этот объект не равен нулю, попробуйте следующее.

SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;

Думаю, это должно сработать, если вы получите какой-то ответ.

Вам необходимо указать kSOAP, что такое объект StatusSetting и , как преобразовать ответ SOAP в объект StatusSetting .

5
ответ дан 14 December 2019 в 13:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: