Autore Topic: Problema chiamata Servizio su Connessione SOAP WebServices Microsoft  (Letto 624 volte)

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
 :-)Ragazzi,

ho realizzato in passato altre activity per connettere un'app ad un Web Services con protocollo SOAP ma con questa sto avendo dei problemi che non riesco a risolvere. Potete darmi una mano ?

Ho errore a schermo : java.lang.NullPointerException: null
Me lo da dopo la chiamata
Codice (Java): [Seleziona]
androidHttpTransport.call(SOAP_ACTION, envelope);
Il LogCat non mi da errori evidenti.

Che può essere ?  :-(

Vi allego tutto il codice :

Codice (Java): [Seleziona]
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.StrictMode;
import android.widget.TextView;

public class SoapClientActivity extends Activity {
       
       
        private static final String METHOD_NAME = "VerificaLogin";
    private static final String NAMESPACE = "[url=http://tempuri.org/";]tempuri - Bing[/url]
    private static final String URL = "http://meteostat.geotronic.net/MeteoService.svc?wsdl";
    private static final String SOAP_ACTION = NAMESPACE + METHOD_NAME;
   
       
    TextView tv;
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv=(TextView)findViewById(R.id.result);

       try
       {
            SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

            PropertyInfo pi1=new PropertyInfo();
            pi1.setName("user");
            pi1.setValue("admin");
            pi1.setType(String.class);
            pi1.setNamespace(NAMESPACE);
            request.addProperty(pi1);
           
            PropertyInfo pi2=new PropertyInfo();
            pi1.setName("pwd");
            pi1.setValue("admin");
            pi1.setType(String.class);
            pi2.setNamespace(NAMESPACE);
            request.addProperty(pi2);
           
               
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
           
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.dotNet=true;
            envelope.setOutputSoapObject(request);
           

            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
           
            androidHttpTransport.call(SOAP_ACTION, envelope);
 
            SoapPrimitive result=(SoapPrimitive)envelope.getResponse();
 

            String resultData=result.toString();
            tv.setText(resultData);
           
        }
       catch (Exception e) {
                tv.setTextColor(Color.RED);
            tv.setText("ERROR:" + e.getClass().getName() + ": \n" + e.getMessage());
            }
    }
}


Il WSDL è qui: http://meteostat.geotronic.net/MeteoService.svc?wsdl


GRAZIE in anticipo a tutti quelli che proveranno ad aiutarmi.

« Ultima modifica: 07 Maggio 2012, 20:48:00 CEST da ldc »

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Problema chiamata Servizio su Connessione SOAP WebServices Microsoft
« Risposta #1 il: 07 Maggio 2012, 20:28:02 CEST »
0
ah, dimenticavo di aggiungere che debuggando risulta :
savednstanceState = null

Come se non trovasse il metodo...  >:(

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Problema chiamata Servizio su Connessione SOAP WebServices Microsoft
« Risposta #2 il: 07 Maggio 2012, 22:16:08 CEST »
0
Ho risolto, grazie lo stesso.

Erano i parametri di connessione sbagliati.

bisogna usare l'svc finale senza ?wsdl