Introduction : -
In this article i am explaining how to call the asp.net asmx web service .This is very nice article for call the asmx web service for android application.
Setp 1 -> Open visual studio and create a new project like this
File->new->Project
And write the name of project and click ok
Step 2 -> Write click on project add ->add new item
select web service and click ok and write the code as shown below on our webservice.asmx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService {
public WebService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public int Add(int a, int b)
{
return a + b;
}
}
Step 3 -> Run our web service and check the output is proper or not like this
Click on Add
Enter Values a=10 and b=10
Then Click on Invoke and output as shown below
Start Android Applcation : -
step 1 -> Doble Click on eclipse IDE and in front of you appear the GUI .
step 2 -> select File->new->Android Application Project
and fill all the filed as show in image
step 3-> Click Next->Next->Next->Next->Finish
Step 4-> On Android Application is Created
Step4->Download the jar file
ksoap2-android-assembly-2.5.5-jar-with-dependencies.jar
Step 5 -> Copy and past in libs folder and write click->Build Path->Configration Build Path
Note - If libs folder not avable in our project then create new folder name like libs and keep this jar file
step 6 -> Now Write Click on Project Add->New->Class [class name like
CallSoap.java]
And Write the Code as Shown Below
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
public class CallSoap {
public final String SOAP_ACTION = "http://tempuri.org/Add";
public final String OPERATION_NAME = "Add";
public final String WSDL_TARGET_NAMESPACE = "http://tempuri.org/";
public final String SOAP_ADDRESS = "http://179.45.33.245/webservice/WebService.asmx";
public CallSoap()
{
}
public String Call(int a,int b)
{
SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,OPERATION_NAME);
PropertyInfo pi=new PropertyInfo();
pi.setName("a");
pi.setValue(a);
pi.setType(Integer.class);
request.addProperty(pi);
pi=new PropertyInfo();
pi.setName("b");
pi.setValue(b);
pi.setType(Integer.class);
request.addProperty(pi);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
Object response=null;
try
{
httpTransport.call(SOAP_ACTION, envelope);
response = envelope.getResponse();
}
catch (Exception exception)
{
response=exception.toString();
}
return response.toString();
}
}