HashMap Key 、 value から取得する2つの整数変数を持つAndroidコードがあります。
これら 2 つの変数を SOAP Web サービスに渡そうとしていますが、何も起こりませんでした。
注 1: WebService コードが機能しており、正しいデータをデータベースに入力していると確信しています。テストしました。
注2:FROMデバッグは、「SID」と「ステータス」が正しい値を持っていることを示しています。
しかし、これらの値を SOAP に送信する際の問題。
Android アクティビティの完全な SOAP コード:
sumbit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
for (Map.Entry<Integer, Integer> mapEntry : checkBoxState
.entrySet()) {
int SID = mapEntry.getKey();
int status = mapEntry.getValue();
Toast.makeText(context,
String.valueOf(SID) + String.valueOf(status),
Toast.LENGTH_SHORT).show();
try {
SoapObject request = new SoapObject(NAMESPACE,
METHOD_NAME);
HttpTransportSE androidHttpTransport = new HttpTransportSE(
URL);
PropertyInfo pi = new PropertyInfo();
pi.setName("SID");
pi.setValue(SID);
pi.setType(Integer.class);
request.addProperty(pi);
PropertyInfo pi2 = new PropertyInfo();
pi2.setName("status");
pi2.setValue(status);
pi2.setType(Integer.class);
request.addProperty(pi2);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
androidHttpTransport.call(SOAP_ACTION, envelope);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
完全な webService メソッド コード:
public void insertApsentData(int SID , int status ) throws SQLException, ClassNotFoundException, ReflectiveOperationException, Throwable{
// Make new Connection to database .
Dbconnection NewConnect = new Dbconnection();
Connection con = NewConnect.MakeConnect();
Statement stmt = con.createStatement();
// this i'm usre is working fine
stmt.executeUpdate("INSERT INTO apsent SET course_id=1, teacher_id= 1 , class_id= 3 , interval_id= 5 , day_id = 1 , APSSENT_DATE = CURdate() ,state = " + status + ", student_id = " + SID +" ,school_id = 1;");//called the procedure
}