Android WebService请求

本篇文章不涉及更深的知识,知识帮助你调用WebService

1:Webserver它的请求协议Soap1.2协议,而不是http,所以你需要下载ksoap2

2:需要找到请求的3个重要的东西

(1):命名空间 (2)方法名 (3)访问地址

如果你是使用SqaoUi,那么打开双击Project下的任意个文件里面的一个命名可以得到


Android WebService请求_第1张图片

WSDL URL 这个就是访问地址

Namespace这个就是命名空间

SOAP Version则是版本

这2个难找,所以我特别写出来

至于网页的建议参考blog.csdn.net/lyq8479/article/details/6420398  柳老师这篇写的很详细


设置命名空间、访问地址、方法名

String SOAP_ACTION = NAMESPACE+METHOD_NAME

String METHOD_NAME =//方法名

String NAMESPACE =;//命名空间

String URL =

try{

SoapObject Request =newSoapObject(NAMESPACE, METHOD_NAME);

//添加传入参数,根据具体格式测试

Request.addProperty("user_id","admin");

Request.addProperty("user_pwd","123");

Request.addProperty("comp_machine_code","cs");

Request.addProperty("version_name","1");

Request.addProperty("mobile_type","1");

//创建soap数据

SoapSerializationEnvelope soapEnvelope =newSoapSerializationEnvelope(SoapEnvelope.VER12);//这里是版本号

soapEnvelope.dotNet=true;

你的服务端是Java写的或者PHP的话“”“soapEnvelope.dotNet = true;”这个一定要设置成 false

soapEnvelope.setOutputSoapObject(Request);

HttpTransportSE transport =newHttpTransportSE(URL);

//          soap协议发送

transport.call(SOAP_ACTION, soapEnvelope);

//            soap请求完成后返回数据并转换成字符串

resultString= (SoapPrimitive) soapEnvelope.getResponse();

Log.i(TAG,"Result Celsius: "+resultString);

}catch(Exception ex) {

Log.e(TAG,"Error: "+ ex.getMessage());

}

最后对了,不能在主线程中运行,开一个AsyncTask来运行

你可能感兴趣的:(Android WebService请求)