这是调用webService的具体方法

  1. private final static String nameSpace="http://tempuri.org/";
  2. private final static String url = "http://10.188.65.139/BizNavi_Link_Phone/Service.asmx?wsdl";
  3.  
  4. public static List<WaitModel> CallWebService1() {
  5. // 调用webservice的具体方法
  6. String nameSpace = "http://tempuri.org/";
  7. String methodName = "queryProcXml1";
  8. String soapAction = "http://tempuri.org/"+methodName;
  9. String url = "http://10.188.65.139/BizNavi_Link_Phone/Service.asmx?wsdl";// 后面加不加那个?wsdl参数影响都不大
  10.  
  11. // 建立webservice连接对象
  12. HttpTransportSE transport = new HttpTransportSE(url);
  13. // transport.debug = false;// 是否是调试模式
  14. transport.debug = true;// 是否是调试模式
  15.  
  16. // 设置连接参数
  17. SoapObject soapObject = new SoapObject(nameSpace, methodName);
  18.  
  19. String paraNames []={"@in_EMPLOYEE_ID1"};
  20. String paraValues [] ={""};
  21.  
  22. soapObject.addProperty("procName", "AFI02_HOME_GET_WAITING");
  23. soapObject.addProperty("ret", );
  24.  
  25. // 设置返回参数
  26. SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
  27. SoapEnvelope.VER11);// soap协议版本必须用SoapEnvelope.VER11(Soap V1.1)
  28. envelope.dotNet = true;// 注意:这个属性是对dotnetwebservice协议的支持,如果dotnet的webservice
  29. // 不指定rpc方式则用true否则要用false
  30. envelope.bodyOut = soapObject;//千万注意!!
  31.  
  32. envelope.setOutputSoapObject(soapObject);// 设置请求参数
  33. try {
  34. //ClientUtil.SetCertification();// 设置证书
  35. transport.call(soapAction, envelope);
  36. SoapObject sb=(SoapObject)envelope.bodyIn;
  37. String ss= sb.getProperty().toString();
  38. InputStream inputStream=new ByteArrayInputStream(ss.getBytes());
  39. return DomWait.readXml(inputStream);
  40. } catch (IOException e) {
  41. // TODO Auto-generated catch block
  42. e.printStackTrace();
  43. } catch (XmlPullParserException e) {
  44. // TODO Auto-generated catch block
  45. e.printStackTrace();
  46. } catch (Exception ex) {
  47. ex.printStackTrace();
  48. }
  49. return null;
  50. }
  51.  
  52. public static List<?> queryProcXml(String procName,Vector<String> paraNames,Vector<String> paraValues){
  53. String methodName = "queryProcXml1";
  54. String soapAction = "http://tempuri.org/"+methodName;
  55.  
  56. // 建立webservice连接对象
  57. HttpTransportSE transport = new HttpTransportSE(url);
  58. // transport.debug = false;// 是否是调试模式
  59. transport.debug = true;// 是否是调试模式
  60.  
  61. // 设置连接参数
  62. SoapObject soapObject = new SoapObject(nameSpace, methodName);
  63.  
  64. soapObject.addProperty("procName", "AFI02_HOME_GET_WAITING");
  65. soapObject.addProperty("ret", );
  66.  
  67. // 设置返回参数
  68. SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
  69. SoapEnvelope.VER11);// soap协议版本必须用SoapEnvelope.VER11(Soap V1.1)
  70. envelope.dotNet = true;// 注意:这个属性是对dotnetwebservice协议的支持,如果dotnet的webservice
  71. // 不指定rpc方式则用true否则要用false
  72. envelope.bodyOut = soapObject;//千万注意!!
  73.  
  74. envelope.setOutputSoapObject(soapObject);// 设置请求参数
  75. try {
  76. //ClientUtil.SetCertification();// 设置证书
  77. transport.call(soapAction, envelope);
  78. SoapObject sb=(SoapObject)envelope.bodyIn;
  79. String ss= sb.getProperty().toString();
  80. InputStream inputStream=new ByteArrayInputStream(ss.getBytes());
  81. return DomWait.readXml(inputStream);
  82. } catch (IOException e) {
  83. // TODO Auto-generated catch block
  84. e.printStackTrace();
  85. } catch (XmlPullParserException e) {
  86. // TODO Auto-generated catch block
  87. e.printStackTrace();
  88. } catch (Exception ex) {
  89. ex.printStackTrace();
  90. }
  91. return null;
  92. }

很脑残的解析

public static List<WaitModel> readXml(InputStream inStream) throws Exception

  1. {
  2. List<WaitModel> waitModels=new ArrayList<WaitModel>();
  3. //实例化一个文档构建器工厂
  4. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  5. //通过文档构建器工厂获取一个文档构建器
  6. DocumentBuilder builder = factory.newDocumentBuilder();
  7. //通过文档通过文档构建器构建一个文档实例
  8. Document document = builder.parse(inStream);
  9. Element root = document.getDocumentElement();
  10. NodeList nodes = root.getElementsByTagName("Table");
  11. for(int i = 0 ;i < nodes.getLength();i++)
  12. {
  13. Element personElement = (Element)nodes.item(i);
  14. WaitModel waitModel =new WaitModel();
  15. // waitModel.setId(Integer.valueOf(personElement.getAttribute("id")));
  16. NodeList childNodes = personElement.getChildNodes();
  17. for(int j = 0;j<childNodes.getLength();j++)
  18. {
  19. Node childNode = (Node)childNodes.item(j);
  20. if (childNode.getNodeType()==Node.ELEMENT_NODE)
  21. {
  22. Element childElement = (Element)childNode;
  23. if ("PLAN_DATE".equals(childElement.getNodeName()))
  24. {
  25. waitModel.setPLAN_DATE(childElement.getFirstChild().getNodeValue());
  26. }
  27. else if ("CORPORATION_NAME_ABB".equals(childElement.getNodeName())) {
  28. waitModel.setCORPORATION_NAME_ABB(childElement.getFirstChild().getNodeValue());
  29. }
  30. else if ("ASSIGN_STATUS".equals(childElement.getNodeName())) {
  31. waitModel.setASSIGN_STATUS(childElement.getFirstChild().getNodeValue());
  32. }
  33. else if ("WORK_ASSIGN_NO".equals(childElement.getNodeName())) {
  34. waitModel.setWORK_ASSIGN_NO(childElement.getFirstChild().getNodeValue());
  35. }
  36. }
  37. }
  38. waitModels.add(waitModel);
  39. }
  40. return waitModels;
  41. }

转:http://chen249045216.iteye.com/blog/1121586

Android 调用webservice并解析的更多相关文章

  1. Android调用WebService(转)

    Android调用WebService WebService是一种基于SOAP协议的远程调用标准,通过 webservice可以将不同操作系统平台.不同语言.不同技术整合到一块.在Android SD ...

  2. 纠正网上乱传的android调用Webservice方法。

    1.写作背景: 笔者想实现android调用webservice,可是网上全是不管对与错乱转载的文章,结果不但不能解决问题,只会让人心烦,所以笔者决定将自己整理好的能用的android调用webser ...

  3. 网摘Android调用WebService

    这边特别注意调用的.net WCF 接口的绑定方式.以前一直用的wxHttpbinding,一直连不上.改成BasicHTTPbinding就能连上了 上篇文章已经对Web Service及其相关知识 ...

  4. Android 调用 WebService

    1.WebService简介 PS:如果看完上面简介还不是很清楚的话,那么就算了,之前公司就用C#搭的一个WebService! 本节我们并不讨论如何去搭建一个WebService,我们仅仅知道如何去 ...

  5. ksoap2 android 调用WebService

    webService,soap,wsdl的基本概念? 详情请看维基百科 基于soap 1.1, soap 1.2 的请求和响应数据源 查找了很久都是基于json格式传输数据,但是最终还是找到了基于xm ...

  6. Android调用WebService

    这两天给老师做地铁app的demo,与后台的交互要用WebService,还挺麻烦的.所以想写点,希望有用. Web Services(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一 ...

  7. 第十五章:Android 调用WebService(.net平台)

    什么是webservice? Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和 ...

  8. Android 调用webService(.net平台)

    什么是webservice? Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和 ...

  9. 【Android进阶】Android调用WebService的实现

    最近想自己搞搞服务器,就从最简单的webservice开始吧 先上效果图 项目结构 开始贴代码,注释都有,有问题的请留言 MainActivity.java package com.example.w ...

随机推荐

  1. C/C++中const关键字

    http://blog.csdn.net/xdrt81y/article/details/24333335 今天在做一个趋势笔试题的时候,才让我有了系统把const关键字好好总结一下的冲动,因为这个关 ...

  2. Java 如何实现在线预览文档及修改(Office文件)

    测试地址: https://sms.idxkj.cn 用户名:aa 密码:123456

  3. Chrome快捷键大全

    Chrome上我基本不怎么用快捷键,但是发现了切换标签页的快捷键后觉得十分好用,所以就分享如下. 切换上一个标签:Ctrl+PgUp 切换下一个标签:Ctrl+PgDn 打开新标签页:Ctrl+T 通 ...

  4. Ubuntu 16.04 grub rescue 模式下修复 grub

      前几天整理了下电脑的分区,合并并删除一些分区,结果导致 grub 被破坏了,Ubuntu进不去了,启动后直接进入了 rescure 模式.后来又折腾了下,终于修复好了,现总结一下. 先说一下我的系 ...

  5. [转]mysqldump备份还原和mysqldump导入导出语句大全详解

    FROM : http://www.cnblogs.com/zeroone/archive/2010/05/11/1732834.html mysqldump备份还原和mysqldump导入导出语句大 ...

  6. 在Windows7/8/10上,安装IIS

    (1)打开控制面板 (2)找到 程序和功能 (3)打开或者关闭Windows功能,找到Internet信息服务,确保 应用程序开发功能 .NET相关模块选中 (4)确保“静态内容”选中 (5)点击确定 ...

  7. hdu 1038 Biker&#39;s Trip Odometer(水题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=1038 Biker's Trip Odometer Time Limit: 2000/1000 MS ...

  8. 如何使用chrome自带的Javascript调试工具 【转】

    http://zhangyongbluesky.blog.163.com/blog/static/1831941620113155739840/ 将写好的Javascript代码用chrome打开. ...

  9. 使用JDBC向Kudu表插入中文数据乱码(转载)

    参考:https://cloud.tencent.com/developer/article/1077763 问题描述 使用Impala JDBC向Kudu表中插入中文字符,插入的中文字符串乱码,中文 ...

  10. [javase学习笔记]-6.4 成员变量与局部变量

    前面我们学习了类的定义,我们不难理解,定义类事实上就是在定义类中的成员. 成员包含成员变量和成员函数. 说到成员变量,我们非常自然会想到前面提到过的局部变量,那么它们之间有什么差别呢? 首先我们定义一 ...