Friday 9 August 2013

soap parsing

import org.json.JSONArray;
import org.json.JSONObject;
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.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.EditText;
import android.widget.TextView;
@TargetApi(Build.VERSION_CODES.GINGERBREAD)
@SuppressLint("NewApi")
public class MainActivity extends Activity {
private final String SOAP_NAMESPACE = "http://tempuri.org/";
private final String SOAP_URL = "http://store.q-pos.net/ws/inventorydata.asmx";
private final String SOAP_ACTION = "http://tempuri.org/SelectAllItem";
private final String SOAP_METHOD = "SelectAllItem";
private SoapObject request;
private PropertyInfo pi1;
private EditText edtBarcode = null;
private TextView txtItemName = null;
private TextView txtPrice = null;
private TextView txtBarcode = null;
TextView tetincreament;
private int count = 1;
@SuppressLint("NewApi")
@TargetApi(Build.VERSION_CODES.GINGERBREAD)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.popup_barcode_display);
txtBarcode = (TextView) findViewById(R.id.txtBarcode);
txtPrice = (TextView) findViewById(R.id.txtPrice);
txtItemName = (TextView) findViewById(R.id.txtItem);
tetincreament = (TextView) findViewById(R.id.edtincreament);
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
}
edtBarcode = (EditText) findViewById(R.id.barcode);
edtBarcode.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_ENTER) {
request = new SoapObject(SOAP_NAMESPACE, SOAP_METHOD);
pi1 = new PropertyInfo();
pi1.setName("clientid");
pi1.setValue("895D7BE5-B5D0-48AE-8AAB-6863FCD1D5BF");
pi1.setType(String.class);
request.addProperty(pi1);
pi1 = new PropertyInfo();
pi1.setName("storeid");
pi1.setValue("041423AC-2094-418D-9C46-23CA33CEACC2");
pi1.setType(String.class);
request.addProperty(pi1);
pi1 = new PropertyInfo();
pi1.setName("categoryid");
pi1.setValue(null);
pi1.setType(String.class);
request.addProperty(pi1);
pi1 = new PropertyInfo();
pi1.setName("PriceListID");
pi1.setValue(null);
pi1.setType(String.class);
request.addProperty(pi1);
SoapSerializationEnvelope envp = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envp.dotNet = true;
envp.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(
SOAP_URL);
try {
androidHttpTransport.call(SOAP_ACTION, envp);
SoapPrimitive response = (SoapPrimitive) envp
.getResponse();
Log.d("response", "" + response);
boolean check = CheckBarcode("" + response);
if (check == true) {
edtBarcode.setText("");
} else {
}
} catch (Exception e) {
Log.d("WS Error->", e.toString());
}
}
return false;
}
});
}
public Boolean CheckBarcode(String response) {
boolean check = false;
try {
JSONArray array = new JSONArray(response);
for (int i = 0; i < array.length(); i++) {
JSONObject obj = array.getJSONObject(i);
String str = obj.getString("EANCode");
Log.d("test", str);
String str1 = edtBarcode.getText().toString().trim();
if (str.length() <= 0) {
} else {
if (str.equals(str1)) {
check = true;
txtItemName.setText(obj.getString("ItemName"));
txtPrice.setText(obj.getString("OutletPrice"));
txtBarcode.setText(str1.toString());
tetincreament.setText(""+count);
count++;
}
}
}
}
catch (Exception e) {
}
return check;
}
}

No comments:

Post a Comment