Android手机调用笔记本电脑的webservices
扫描二维码
随时随地手机看文章
遇到问题记录一下: 1.手机访问电脑web的,记得关闭防火墙!2.不要使用localhost,指定IP地址.
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.MarshalBase64;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
public void onClick_Event(View view)
{
TextView txt1 = (TextView)findViewById(R.id.textView1);
String nameSpace = "http://192.168.0.103/soap/updateserver";
// 调用的方法名称
String methodName = "getVersion";
String phoneSec = "12312321323";
// EndPoint
String endPoint = "http://192.168.0.103/php/index.php?wsdl";
// SOAP Action
String soapAction = "http://192.168.0.103/php/index.php/getVersion";
// 指定WebService的命名空间和调用的方法名
SoapObject rpc = new SoapObject(nameSpace, methodName);
// 设置需调用WebService接口需要传入的两个参数mobileCode、userId
rpc.addProperty("appcode", phoneSec);
// 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
envelope.bodyOut = rpc;
// 设置是否调用的是dotNet开发的WebService
envelope.dotNet = false;
// 等价于envelope.bodyOut = rpc;
envelope.setOutputSoapObject(rpc);
HttpTransportSE transport = new HttpTransportSE(endPoint);
try {
// 调用WebService
transport.call(soapAction, envelope);
// 获取返回的数据
SoapObject object = (SoapObject) envelope.bodyIn;
// 获取返回的结果
if(object !=null){
String result = object.getProperty(0).toString();
// 将WebService返回的结果显示在TextView中
txt1.setText(result);
}
} catch (Exception e)
{
txt1.setText(e.getMessage().toString());
e.printStackTrace();
return ;
}
} 




