Android 调用webservice并解析
这是调用webService的具体方法
- private final static String nameSpace="http://tempuri.org/";
- private final static String url = "http://10.188.65.139/BizNavi_Link_Phone/Service.asmx?wsdl";
- public static List<WaitModel> CallWebService1() {
- // 调用webservice的具体方法
- String nameSpace = "http://tempuri.org/";
- String methodName = "queryProcXml1";
- String soapAction = "http://tempuri.org/"+methodName;
- String url = "http://10.188.65.139/BizNavi_Link_Phone/Service.asmx?wsdl";// 后面加不加那个?wsdl参数影响都不大
- // 建立webservice连接对象
- HttpTransportSE transport = new HttpTransportSE(url);
- // transport.debug = false;// 是否是调试模式
- transport.debug = true;// 是否是调试模式
- // 设置连接参数
- SoapObject soapObject = new SoapObject(nameSpace, methodName);
- String paraNames []={"@in_EMPLOYEE_ID1"};
- String paraValues [] ={""};
- soapObject.addProperty("procName", "AFI02_HOME_GET_WAITING");
- soapObject.addProperty("ret", );
- // 设置返回参数
- SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
- SoapEnvelope.VER11);// soap协议版本必须用SoapEnvelope.VER11(Soap V1.1)
- envelope.dotNet = true;// 注意:这个属性是对dotnetwebservice协议的支持,如果dotnet的webservice
- // 不指定rpc方式则用true否则要用false
- envelope.bodyOut = soapObject;//千万注意!!
- envelope.setOutputSoapObject(soapObject);// 设置请求参数
- try {
- //ClientUtil.SetCertification();// 设置证书
- transport.call(soapAction, envelope);
- SoapObject sb=(SoapObject)envelope.bodyIn;
- String ss= sb.getProperty().toString();
- InputStream inputStream=new ByteArrayInputStream(ss.getBytes());
- return DomWait.readXml(inputStream);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (XmlPullParserException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- return null;
- }
- public static List<?> queryProcXml(String procName,Vector<String> paraNames,Vector<String> paraValues){
- String methodName = "queryProcXml1";
- String soapAction = "http://tempuri.org/"+methodName;
- // 建立webservice连接对象
- HttpTransportSE transport = new HttpTransportSE(url);
- // transport.debug = false;// 是否是调试模式
- transport.debug = true;// 是否是调试模式
- // 设置连接参数
- SoapObject soapObject = new SoapObject(nameSpace, methodName);
- soapObject.addProperty("procName", "AFI02_HOME_GET_WAITING");
- soapObject.addProperty("ret", );
- // 设置返回参数
- SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
- SoapEnvelope.VER11);// soap协议版本必须用SoapEnvelope.VER11(Soap V1.1)
- envelope.dotNet = true;// 注意:这个属性是对dotnetwebservice协议的支持,如果dotnet的webservice
- // 不指定rpc方式则用true否则要用false
- envelope.bodyOut = soapObject;//千万注意!!
- envelope.setOutputSoapObject(soapObject);// 设置请求参数
- try {
- //ClientUtil.SetCertification();// 设置证书
- transport.call(soapAction, envelope);
- SoapObject sb=(SoapObject)envelope.bodyIn;
- String ss= sb.getProperty().toString();
- InputStream inputStream=new ByteArrayInputStream(ss.getBytes());
- return DomWait.readXml(inputStream);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (XmlPullParserException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- return null;
- }
很脑残的解析
public static List<WaitModel> readXml(InputStream inStream) throws Exception
- {
- List<WaitModel> waitModels=new ArrayList<WaitModel>();
- //实例化一个文档构建器工厂
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- //通过文档构建器工厂获取一个文档构建器
- DocumentBuilder builder = factory.newDocumentBuilder();
- //通过文档通过文档构建器构建一个文档实例
- Document document = builder.parse(inStream);
- Element root = document.getDocumentElement();
- NodeList nodes = root.getElementsByTagName("Table");
- for(int i = 0 ;i < nodes.getLength();i++)
- {
- Element personElement = (Element)nodes.item(i);
- WaitModel waitModel =new WaitModel();
- // waitModel.setId(Integer.valueOf(personElement.getAttribute("id")));
- NodeList childNodes = personElement.getChildNodes();
- for(int j = 0;j<childNodes.getLength();j++)
- {
- Node childNode = (Node)childNodes.item(j);
- if (childNode.getNodeType()==Node.ELEMENT_NODE)
- {
- Element childElement = (Element)childNode;
- if ("PLAN_DATE".equals(childElement.getNodeName()))
- {
- waitModel.setPLAN_DATE(childElement.getFirstChild().getNodeValue());
- }
- else if ("CORPORATION_NAME_ABB".equals(childElement.getNodeName())) {
- waitModel.setCORPORATION_NAME_ABB(childElement.getFirstChild().getNodeValue());
- }
- else if ("ASSIGN_STATUS".equals(childElement.getNodeName())) {
- waitModel.setASSIGN_STATUS(childElement.getFirstChild().getNodeValue());
- }
- else if ("WORK_ASSIGN_NO".equals(childElement.getNodeName())) {
- waitModel.setWORK_ASSIGN_NO(childElement.getFirstChild().getNodeValue());
- }
- }
- }
- waitModels.add(waitModel);
- }
- return waitModels;
- }
转:http://chen249045216.iteye.com/blog/1121586
Android 调用webservice并解析的更多相关文章
- Android调用WebService(转)
Android调用WebService WebService是一种基于SOAP协议的远程调用标准,通过 webservice可以将不同操作系统平台.不同语言.不同技术整合到一块.在Android SD ...
- 纠正网上乱传的android调用Webservice方法。
1.写作背景: 笔者想实现android调用webservice,可是网上全是不管对与错乱转载的文章,结果不但不能解决问题,只会让人心烦,所以笔者决定将自己整理好的能用的android调用webser ...
- 网摘Android调用WebService
这边特别注意调用的.net WCF 接口的绑定方式.以前一直用的wxHttpbinding,一直连不上.改成BasicHTTPbinding就能连上了 上篇文章已经对Web Service及其相关知识 ...
- Android 调用 WebService
1.WebService简介 PS:如果看完上面简介还不是很清楚的话,那么就算了,之前公司就用C#搭的一个WebService! 本节我们并不讨论如何去搭建一个WebService,我们仅仅知道如何去 ...
- ksoap2 android 调用WebService
webService,soap,wsdl的基本概念? 详情请看维基百科 基于soap 1.1, soap 1.2 的请求和响应数据源 查找了很久都是基于json格式传输数据,但是最终还是找到了基于xm ...
- Android调用WebService
这两天给老师做地铁app的demo,与后台的交互要用WebService,还挺麻烦的.所以想写点,希望有用. Web Services(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一 ...
- 第十五章:Android 调用WebService(.net平台)
什么是webservice? Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和 ...
- Android 调用webService(.net平台)
什么是webservice? Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和 ...
- 【Android进阶】Android调用WebService的实现
最近想自己搞搞服务器,就从最简单的webservice开始吧 先上效果图 项目结构 开始贴代码,注释都有,有问题的请留言 MainActivity.java package com.example.w ...
随机推荐
- C/C++中const关键字
http://blog.csdn.net/xdrt81y/article/details/24333335 今天在做一个趋势笔试题的时候,才让我有了系统把const关键字好好总结一下的冲动,因为这个关 ...
- Java 如何实现在线预览文档及修改(Office文件)
测试地址: https://sms.idxkj.cn 用户名:aa 密码:123456
- Chrome快捷键大全
Chrome上我基本不怎么用快捷键,但是发现了切换标签页的快捷键后觉得十分好用,所以就分享如下. 切换上一个标签:Ctrl+PgUp 切换下一个标签:Ctrl+PgDn 打开新标签页:Ctrl+T 通 ...
- Ubuntu 16.04 grub rescue 模式下修复 grub
前几天整理了下电脑的分区,合并并删除一些分区,结果导致 grub 被破坏了,Ubuntu进不去了,启动后直接进入了 rescure 模式.后来又折腾了下,终于修复好了,现总结一下. 先说一下我的系 ...
- [转]mysqldump备份还原和mysqldump导入导出语句大全详解
FROM : http://www.cnblogs.com/zeroone/archive/2010/05/11/1732834.html mysqldump备份还原和mysqldump导入导出语句大 ...
- 在Windows7/8/10上,安装IIS
(1)打开控制面板 (2)找到 程序和功能 (3)打开或者关闭Windows功能,找到Internet信息服务,确保 应用程序开发功能 .NET相关模块选中 (4)确保“静态内容”选中 (5)点击确定 ...
- hdu 1038 Biker's Trip Odometer(水题)
题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=1038 Biker's Trip Odometer Time Limit: 2000/1000 MS ...
- 如何使用chrome自带的Javascript调试工具 【转】
http://zhangyongbluesky.blog.163.com/blog/static/1831941620113155739840/ 将写好的Javascript代码用chrome打开. ...
- 使用JDBC向Kudu表插入中文数据乱码(转载)
参考:https://cloud.tencent.com/developer/article/1077763 问题描述 使用Impala JDBC向Kudu表中插入中文字符,插入的中文字符串乱码,中文 ...
- [javase学习笔记]-6.4 成员变量与局部变量
前面我们学习了类的定义,我们不难理解,定义类事实上就是在定义类中的成员. 成员包含成员变量和成员函数. 说到成员变量,我们非常自然会想到前面提到过的局部变量,那么它们之间有什么差别呢? 首先我们定义一 ...