Before Starting we need to take care of these for parameters
1. NAMESPACE
2. SOAP_ACTION
3. URL
4. METHOD_NAME
Fill these values correctly.You can get these values by hitting your url in browser as shown in below image :
SOAP_ACTION = NAMESPACE+MTHOD_NAME (always)
URL will be your web service url.
Now the java code in android to get the result from the soap service:
1. MainActivity.java
1. NAMESPACE
2. SOAP_ACTION
3. URL
4. METHOD_NAME
Fill these values correctly.You can get these values by hitting your url in browser as shown in below image :
SOAP_ACTION = NAMESPACE+MTHOD_NAME (always)
URL will be your web service url.
Now the java code in android to get the result from the soap service:
1. MainActivity.java
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
 new BackTask().execute();
}
class BackTask extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... params) {
WebserviceCall com = new WebserviceCall();
          //Call Webservice class method and pass values and get response
          String mResponse = com.getSoapResponse("Login");  
          Log.i("Output", "----"+mResponse);
return null;
}
}
}
2. WebserviceCall.javapublic class  WebserviceCall {
/**
 * Variable Declaration................
 *
 */
String namespace = "http://tempuri.org/";
private String url = "your URL Here";
String SOAP_ACTION;
SoapObject request = null, objMessages = null;
SoapSerializationEnvelope envelope;
AndroidHttpTransport androidHttpTransport;
public String getSoapResponse(String MethodName)
{
try {
SOAP_ACTION = namespace + MethodName;
//Adding values to request object
request = new SoapObject(namespace, MethodName);
//Adding String value to request object (User name in this case)
PropertyInfo mUsername =new PropertyInfo();
mUsername.setName("UserName");
mUsername.setValue("kamal@gmail.Com");
mUsername.setType(String.class);
request.addProperty(mUsername);
//Adding String value to request object (password in this case)
PropertyInfo mPassword =new PropertyInfo();
mPassword.setName("Password");
mPassword.setValue("122");
mPassword.setType(String.class);
request.addProperty(mPassword);
// Creating SOAP envelope          
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
//You can comment that line if your web service is not .NET one.
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
androidHttpTransport = new AndroidHttpTransport(url);
androidHttpTransport.debug = true;//need to be set true if it is a .net service
//SOAP calling webservice
androidHttpTransport.call(SOAP_ACTION, envelope);//making the soap call here
// Web service response
String result = envelope.getResponse().toString();//getting the service response here
return result;
}
catch (Exception e) {
// TODO: handle exception
return e.toString();
}
}
}
3. Define internet permission in manifest file :<uses-permission android:name="android.permission.INTERNET"/>


 
No comments:
Post a Comment