Problema na conexão ao webservice

Estou enfrentando um problema numa aplicação que envia determinadas informações para um webservice e, na hora de exibir o retorno, às vezes (aprox 1 em cada 10 vezes) retorna o formulário vazio! O que pode estar acontecendo, pois na linha 29, o result2 deveria estar sempre recebendo o retorno do webservice…

Código da classe que executa a conexão:

[code]class OperacaoThread extends Thread { //THREAD DA OPERACAO

private static final String URL = "http://192.168.0.123:8080/SBBeanService/Service";
private static final String SOAP_ACTION_LOGIN = "Operacao";
private static final String NAMESPACE = "http://teste.servico.com.br";
private static final String OPERATION_LOGIN = "Operacao";

public void run() {

    wstring = "xxx|yyy|aaa|bbb|ccc";

    try {                    
                                    
                SoapObject request;

                request = new SoapObject(NAMESPACE, OPERATION_LOGIN);
                
                SoapSerializationEnvelope envelope = 
                                       new SoapSerializationEnvelope(SoapEnvelope.VER11);
                
                envelope.setOutputSoapObject(request);
                
                request.addProperty("arg0", wstring);
                
                HttpTransport httpTransport = new HttpTransport(URL);
                
                httpTransport.call(SOAP_ACTION_LOGIN, envelope);
                
                result2 = envelope.getResponse();  // obtem a string de RETORNO
                
                wmsg = result2.toString();
                
    }catch(SoapFault sf){
        System.out.println("SOAPFault msg> "+ sf.faultstring);

        wmsg=sf.faultstring;
        
        }
        
    }catch (Exception e) {

                System.out.println("Resultado errado " + e.toString());
                                    
                wmsg = "Falha na comunicação. Tente Novamente!";

                e.printStackTrace();
            }

                }

    switchDisplayable(null, getTerminoOperacao());

    }

}

[/code]Método que monta o formulário que exibe o retorno:

public Form getTerminoOperacao() { if (TerminoOperacao == null) { TerminoOperacao = new Form("", new Item[] { getSiRetorno() }); TerminoOperacao.addCommand(getOkCommand6()); TerminoOperacao.setCommandListener(this); } return TerminoOperacao; } Método que monta a string que exibirá o retorno:

public StringItem getSiRetorno() { if (siRetorno == null) { siRetorno = new StringItem("", wmsg); } return siRetorno; }