To Call Soap Object WebService in Android All Step Mention in Below :
The Soap Object Service is Like This
The Output Of This Service is Like This
To Call This Service in Android Studio Do These Steps:
Download This File and Paste it in Project/app/libs
Write Any One Dependency in Your Build.gradle App Module
dependencies {
// implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation files('libs/ksoap2-android-assembly-2.6.2-jar-with-dependencies.jar')
//implementation files('libs\\ksoap2-android-assembly-2.6.2-jar-with-dependencies.jar')
}
And Now Make Base Url Tempuri and Soap Action Url From You Web Service Api In Your MainActivity
String NAMESPACE = "http://tempuri.org/";
String method_GETGROWERWISEPUCHYDETAILS = "GETGROWERWISEPUCHYDETAILS";
String SOAP_ACTION_GETGROWERWISEPUCHYDETAILS = "http://tempuri.org/GETGROWERWISEPUCHYDETAILS";
String BASE_URL_AGENT ="http://cane.caneuk.com/GrowerEnqueryServices.asmx";
Here Is The Final Code is Here
public class MainActivity extends AppCompatActivity {
String NAMESPACE = "http://tempuri.org/";
String method_GETGROWERWISEPUCHYDETAILS = "GETGROWERWISEPUCHYDETAILS";
String SOAP_ACTION_GETGROWERWISEPUCHYDETAILS = "http://tempuri.org/GETGROWERWISEPUCHYDETAILS";
String BASE_URL_AGENT = "http://cane.caneuk.com/GrowerEnqueryServices.asmx";
Context contex;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
contex = MainActivity.this;
// calls AsyncTask in Oncreate
new GetGrowerwisepuchydetails().execute();
}
private class GetGrowerwisepuchydetails extends AsyncTask {
String message;
private ProgressDialog dialog = new ProgressDialog(contex);
String mobile = "";
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog.setTitle("Please Wait");
//dialog.setIndeterminate(false);
dialog.setMessage("Please Wait");
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.setProgress(0);
dialog.show();
}
@Override
protected Void doInBackground(String... params) {
try {
SoapObject request1 = new SoapObject(NAMESPACE, method_GETGROWERWISEPUCHYDETAILS);
request1.addProperty("SOCCODE", "1");
request1.addProperty("Village", "1");//inputFormList.get(0).getAgriVillageCode()
request1.addProperty("GROWER", "124");//inputFormList.get(0).getAgriGrowerCode()
Log.d("", "doInBackground: " + request1);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request1);
envelope.implicitTypes = true;
// Web method call
HttpTransportSE androidHttpTransport = new HttpTransportSE(BASE_URL_AGENT, 200000);
;
androidHttpTransport.debug = true;
androidHttpTransport.call(SOAP_ACTION_GETGROWERWISEPUCHYDETAILS, envelope);
if (envelope.bodyIn instanceof SoapFault) {
SoapFault sf = (SoapFault) envelope.bodyIn;
message = sf.getMessage();
} else {
SoapObject result = (SoapObject) envelope.bodyIn;
message = result.getPropertyAsString("GETGROWERWISEPUCHYDETAILSResult").toString();
}
} catch (SecurityException e) {
Log.e("Exception", e.getMessage());
message = e.getMessage();
} catch (Exception e) {
Log.e("Exception", e.getMessage());
message = e.getMessage();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
if (dialog.isShowing()) {
dialog.dismiss();
}
try {
JSONObject jsonObject = new JSONObject(message);
if (jsonObject.getString("API_STATUS").equalsIgnoreCase("OK")) {
JSONArray jsonUserDetailsObject = jsonObject.getJSONArray("DATA");
for (int i = 0; i < jsonUserDetailsObject.length(); i++) {
JSONObject jsonObject1 = jsonUserDetailsObject.getJSONObject(i);
}
} else {
if (dialog.isShowing()) {
dialog.dismiss();
}
}
} catch (JSONException e) {
//textView.setText("Error:"+e.toString());
} catch (Exception e) {
//textView.setText("Error:"+e.toString());
}
}
}
}