Bonjour,

Je suis en train de créer une application Web pour mobile avec Android, Axis 2 et comme BD Oracle et MySQL.

J'ai commencé par écrire un simple programme d'authentification.

Au niveau du serveur, l'application fonctionne mais au niveau de l'émulateur sous Eclipse, lorsque je clique sur le bouton "Connexion" il reste bloqué.

Voici le code au niveau du projet WebService:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package A;
 
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
 
import javax.servlet.http.HttpServletRequest;
 
public class Authentification {
 
    Connection conn;
    final String url = java.util.ResourceBundle.getBundle("packOfProprieteClient/Connexion").getString("url");
    final String driver = java.util.ResourceBundle.getBundle("packOfProprieteClient/Connexion").getString("driver");
    final String userName = java.util.ResourceBundle.getBundle("packOfProprieteClient/Connexion").getString("utilsa");
    final String passwords = java.util.ResourceBundle.getBundle("packOfProprieteClient/Connexion").getString("motdpasse");
 
    public boolean authenticateUserFromDB(String mail, String password)
    {
        System.out.println(mail+"--------"+password);
        Boolean Conn = false;
        Statement st = null;
        ResultSet res = null;
        try {
            Class.forName(driver).newInstance();
            conn = DriverManager.getConnection(url , userName, passwords);
            st = conn.createStatement();
 
            res = st.executeQuery("SELECT CODE_CLIENT,NOM_CLIENT,PRENOM_CLIENT,EMAIL_CLIENT FROM CONNEXION WHERE UPPER(EMAIL_CLIENT)=UPPER('" + mail + "')AND PASSWD_CLIENT=(SELECT CRYPTMP('" + password + "') FROM DUAL)");
 
            if (res.next()) {
                System.out.println("c trouvé");
               //HttpServletRequest request = null;
              //ClientSessionUtil.setMail(request,res.getString("EMAIL_CLIENT"));
                return true;
            }
            System.out.println("c pa trouvé");
            return false;
        } catch (Exception e) {
            System.out.println("c pa trouvé");
            e.printStackTrace();
           return false;
        }
    }
}
Classe Android :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package com.test.android;
 
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.AndroidHttpTransport;
import org.ksoap2.transport.HttpTransportSE;
 
import com.test.android.bnsingg.R;
 
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
public class connexion extends Activity implements OnTouchListener {
public Button connex ;
 
public View.OnClickListener myhandler ;
 
private static String URL ="http://192.168.2.1:8080/webservice/services/Authentification?wsdl";
private static final String SOAP_ACTION = "http://A/authenticateUserFromDB";
public static final String METHOD_NAME = "authenticateUserFromDB";
public static final String NAMESPACE = "http://A";
 
public static EditText login ;
public EditText password ;
public AlertDialog.Builder ad ;
 
public TextView sinscrire ;
 
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.accceuil);
 
connex = (Button)findViewById(R.id.bb1);
login =(EditText)findViewById(R.id.ed1);
password =(EditText)findViewById(R.id.ed2);
ad = new AlertDialog.Builder(this);
 
    myhandler = new View.OnClickListener() {
 
        public void onClick(View arg0) {
 
 if (connex.getId()==((Button)arg0).getId()){
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
request.addProperty("user",login.getText().toString());
request.addProperty("md",password.getText().toString());
 
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
 
AndroidHttpTransport a = new AndroidHttpTransport (URL);
 
a.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); 
a.debug = true;
try
{
 
a.call(SOAP_ACTION, envelope);
String rest = envelope.getResponse().toString();
System.out.println("reponse : "+rest);
if (rest.equals("true")){
ad.setTitle("Authentification");
 
ad.setMessage("vérification valide");
ad.setPositiveButton("Ok", new android.content.DialogInterface.OnClickListener() {
 
public void onClick(DialogInterface arg0, int arg1) {
 
Intent t1 = new Intent(Cofib.this, bnsingg.class);
login =(EditText)findViewById(R.id.ed1);
t1.putExtra("login1", login.getText().toString());
startActivity(t1);
 
}
}
);
ad.show();
} 
else if(rest.equals("false")){
 
    ad.setTitle("Authentification");
    ad.setMessage("Password incorrect "+login.getText());
    ad.setPositiveButton("Ok", new android.content.DialogInterface.OnClickListener() {
 
    public void onClick(DialogInterface arg0, int arg1) {
 
    password.setText("");
 
    }
    }
 
 
    );
    ad.show();
    }
}
catch (Exception aE)
{
ad.setMessage(aE.getMessage());
ad.show();
}
}
}
};
 
connex.setOnClickListener(myhandler);
 
}
 
public boolean onTouch(View arg0, MotionEvent arg1) {
 
return false;
}
public static String valeurr(){
 
    String log=login.getText().toString();
    return log;}
}
Quelqu'un aurait-il une idée du problème ?

Merci d'avance pour votre aide.