android soup web客户端程序
2011-04-28 13:06
316 查看
WebService是一种基于SOAP协议的远程调用标准。通过WebService可以将不同操作系统平台,不同语言、不同技术整合到一起。
下载ksoap2-android-assembly-2.4-jar-with-dependencies.jar包。并放到项目的lib目录下,然后导入到工程中,及可以引用了。
下载ksoap2-android-assembly-2.4-jar-with-dependencies.jar包。并放到项目的lib目录下,然后导入到工程中,及可以引用了。
private static final String NAMESPACE ="http://www.METS.com/"; private static String URL = "http://61.145.165.250:1012/MetsWebService.asmx"; private static final String METHOD_NAME = "Process"; private static String SOAP_ACTION = "http://www.METS.com/Process"; SoapObject result; private String getStat(){ String dataStr="F4:C7:14:65:B9:72";//发送给服务器的字符串 byte[] sendData=dataStr.getBytes();//获取到该字符串的byte流 byte[] reqDeliveEquip=WebSvcPacket.BuildWebSvcPacket(3000, sendData, sendData.length);//给原始byte流加密 String str=Base64.encodeToString(reqDeliveEquip, Base64.DEFAULT);//把加密后的byte流转化成base64字符串 SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME); //构造 SoapObject对象,传入命名空间和方法名称参数 //传给服务器的字段信息(soup协议) rpc.addProperty("strUserAccount", "131"); rpc.addProperty("strTicket", ""); rpc.addProperty("pRequestPkt", str);//int,string,double -byte[] AndroidHttpTransport ht = new AndroidHttpTransport(URL);//根据服务器地址建立AndroidHttpTransport对象 ht.debug=true; SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); //建soup协议版本为 VER11的信封 envelope.bodyOut = rpc; //把这个SoupObject对象传给信封的写流 envelope.dotNet = true; //支持.net服务器 envelope.setOutputSoapObject(rpc); //设置信封的输出SoupObjext对象 try { ht.call(SOAP_ACTION, envelope); } catch (IOException e) { return "IOException:"+e.getMessage(); } catch (XmlPullParserException e) { return "XmlPullParserException:"+e.getMessage(); } //开始接受服务器的回复数据 result = (SoapObject) envelope.bodyIn; String receiverData=result.getProperty("pOutResponsePkt").toString(); //根据soup协议获取一定字段的值 byte[] receBytes=Base64.decode(receiverData, Base64.DEFAULT);//把字符串解码成byte流 byte[] parseData=WebSvcPacket.ParseWebSvcPacket(receBytes, receBytes.length, code);//解码 String datas = null; if(parseData!=null) { String recvData = null; try { recvData = new String(parseData, "UTF-8");//打印从服务器获取的字符串 } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } Log.i("mylog","-------------------------------------------------------------------------------------"); String[] recvAry = recvData.split("/t"); String serverTime = recvAry[0].substring(1, recvAry[0].length() - 1); Log.i("mylog","serverTime:"+serverTime); String srcTicket = recvAry[1]; Log.i("mylog","srcTicket:"+srcTicket); String encryptKey = recvAry[2]; Log.i("mylog","encryptKey:"+encryptKey); String ticket = new String(); Log.i("mylog","ticket:"+ticket); ticket = WebSvcPacket.GenerateTicket("131", serverTime, encryptKey, srcTicket); datas=RequestDeliveEuip.requestDeliveEuip(ticket); } return datas; }
相关文章推荐
- android + WebView 关闭提示程序
- Android客户端+JavaWeb服务器远程登入
- Gradle Android客户端程序打包(基于gradle 2.10版本验证通过)
- 用antd和webview打造一款大数据客户端程序
- Swing 写的客户端程序在java web start 运行,多语言过程中,JOptionPane.showMessageDialog() 按钮多语言问题
- 浏览器判断是否安装了ios/android客户端程序
- 基于 Cesium 的Web三维地球客户端程序开发框架
- net控件中数据导到Excel的格式 首先,我们了解一下excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。下面就列出常用的一些格式: 1) 文本
- Android--在程序里浏览网页/Webview的使用
- android客户端程序访问服务器端webservice,几篇不错的文章!
- android开发中WebView的使用(附完整程序)
- android程序中关于webview加载html文件
- Android做客户端,Web做服务端(Xml数据格式)
- WEB程序调用客户端程序
- 关于android客户端访问web服务器session问题。
- 浏览器判断是否安装了ios/android客户端程序
- Android开发中使用WebView后程序进入后台依旧占用CPU的解决
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- 让python在android系统上飞一会儿:第四节 使用WebView制作程序界面
- 在web页中调用客户端程序的方法