美文网首页
Android WebService请求

Android WebService请求

作者: 小不点一点 | 来源:发表于2017-09-01 16:07 被阅读0次

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

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

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

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

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

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请求

      本文链接:https://www.haomeiwen.com/subject/cbhkjxtx.html