`
aijuans
  • 浏览: 1566141 次
社区版块
存档分类
最新评论

android ksoap2 中把XML(DataSet) 当做参数传递

阅读更多

我的android app中需要发送webservice ,于是我使用了 ksop2 进行发送,在测试过程中不是很顺利,不能正常工作.
我的web service 请求格式如下

 

 

[html] view plaincopy
 
  1. <Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">  
  2.     
  3.     <Body>  
  4.     
  5.         <UpdateVehicleViaObj xmlns="http://tempuri.org/">  
  6.     
  7.             <userHash>[string?]</userHash>  
  8.     
  9.             <vehicleObject>  
  10.     
  11.                 <Colour xmlns="http://schemas.datacontract.org/2004/07/StockService">[string?]</Colour>  
  12.     
  13.                 <Comments xmlns="http://schemas.datacontract.org/2004/07/StockService">[string?]</Comments>  
  14.     
  15.                 <Condition xmlns="http://schemas.datacontract.org/2004/07/StockService">[string?]</Condition>                  
  16.     
  17.             </vehicleObject>  
  18.     
  19.         </UpdateVehicleViaObj>  
  20.     
  21.     </Body>  
  22. </Envelope>  


 

我在android 代码中使用 ksoap2 如下

 

 

[java] view plaincopy
 
  1. SoapObject request = new SoapObject("Namespace""methodname");  
  2.     
  3.   request.addProperty(properyObject);  
  4.    
  5.    
  6.    
  7.  SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);  
  8.    
  9.    
  10.    
  11.         //SOAP is implemented in dotNet true/false.  
  12.     
  13.         envelope.dotNet = true;  
  14.     
  15.         MarshalDouble md = new MarshalDouble();  
  16.     
  17.         //envelope.implicitTypes = true;  
  18.     
  19.         envelope.implicitTypes = true;  
  20.     
  21.         md.register(envelope);  
  22.     
  23.         //Set request data into envelope and send request using HttpTransport  
  24.     
  25.         envelope.setOutputSoapObject(request);  
  26.     
  27.         HttpTransportSE androidHttpTransport = new HttpTransportSE(mInObj.getUrl(), networkTimeOut);  
  28.    
  29.    
  30.    
  31.         androidHttpTransport.debug= true;  
  32.     
  33.         androidHttpTransport.call(SoapAction, envelope,headerPropertyArrayList);  


ksop2 处理请求后变成这样

 

 

 

[html] view plaincopy
 
  1. <v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/"><v:Header /><v:Body><UpdateVehicleViaObj xmlns="http://tempuri.org/" id="o0" c:root="1"><userHash>B5B2FDF87E848946</userHash><vehicleObject><Colour>red</Colour><  
  2. &  
  3. <Comments >red</Comments ><<Condition >red</Condition ><</vehicleObject></UpdateVehicleViaObj></v:Body></v:Envelope>  


求救:

 

 

处理方法

 

看看官方的 ksoap2 文档
https://code.google.com/p/ksoap2-android/wiki/CodingTipsAndTricks#sending/receiving_array_of_complex_types_or_primitives

你可以创建一个实现marshable接口的类,并在类中添加其他属性

 


原文地址:http://www.itmmd.com/201412/296.html 
该文章由 萌萌的IT人 整理发布,转载须标明出处。

0
0
分享到:
评论

相关推荐

    android ksoap2 3.6 webservice专用

    本篇将详细介绍Android KSOAP2 3.6版本在Webservice中的应用及关键知识点。 1. **SOAP与KSOAP2**: SOAP是一种基于XML的协议,用于在分布式环境中交换结构化和类型化的信息。KSOAP2是Android平台上的SOAP客户端库...

    Android_Ksoap2

    1. **添加依赖**:在Android项目的build.gradle文件中引入Ksoap2库,通常使用的是以下依赖: ```groovy implementation 'com.tonilabs:soap-android:3.6.0' ``` 2. **创建SOAP请求**:定义SOAPAction、Namespace...

    ksoap2-android-3.6.4.zip

    在Android中,ksoap2-android库是用于调用SOAP(Simple Object Access Protocol)Web Service的首选工具。本篇将详细介绍如何利用ksoap2-android-3.6.4库在Android应用中调用Web Service。 首先,我们需要理解SOAP...

    android-Ksoap2简单天气预报查询

    在AndroidManifest.xml中添加 `&lt;uses-permission android:name="android.permission.INTERNET" /&gt;` 权限。 接下来,让我们结合ViewPager实现天气查询功能。首先,创建一个PagerAdapter子类,重写`instantiateItem()...

    Android 使用ksoap2调用Webservice实例

    使用ksoap2调用Webservice实例 需将lib文件夹设置为源文件夹 在AndroidManifest.xml文件中加入&lt;uses-permission android:name="android.permission.INTERNET" /&gt;

    ksoap2-android-assembly-2.4-jar与ksoap2-android-assembly-2.5.2-jar

    ksoap2-android库使得开发者可以方便地在Android应用中调用远程Web服务的方法,无需了解底层的HTTP和XML细节。 ksoap2-android-assembly-2.4-jar是该库的一个较早版本,包含了必要的依赖项。开发者可以通过导入这个...

    Android KSOAP2 API Chm版

    Android KSOAP2 API Chm版

    Android通过ksoap2进行WebService网络通信demo

    本示例将详细介绍如何在Android中利用ksoap2库进行WebService网络通信。 首先,我们要理解SOAP(Simple Object Access Protocol),它是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息。ksoap2则提供了...

    ksoap2-android-assembly-3.6.2-jar 下载

    在Android平台调用Web Service需要依赖于第三方类库ksoap2,它是一个SOAP Web service客户端开发包。此jar包用于android和webservice进行通信,目前版本3.6.2

    ksoap2-android-2.54.jar.zip

    标题中的"**ksoap2-android-2.5.4.jar.zip**"正是这个库的压缩包文件,包含了ksoap2-android的特定版本——2.5.4。 SOAP是一种基于XML的协议,用于在不同操作系统和编程语言之间交换结构化信息,特别适合于跨平台的...

    KSOAP2序列化复杂参数

    ### KSOAP2序列化复杂参数 #### 概述 在Android开发过程中,处理与Web服务交互的任务时常需要用到KSOAP2库。KSOAP2是用于Android平台的一个轻量级SOAP库,它提供了简单的方法来发送SOAP请求和解析SOAP响应。本文将...

    Android 采用KSOAP2方式访问WebService

    本篇文章将深入探讨如何在Android中利用KSOAP2库来访问和使用WebService。 1. **SOAP与KSOAP2简介** SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在分布式环境中交换结构化和类型化信息。...

    android_ksoap2_cxf_wss4j_authentication

    在Android开发中,有时我们需要与基于SOAP的Web服务进行交互,Ksoap2是一个流行的库,用于处理这种通信。本文将深入探讨如何使用Ksoap2在Android客户端实现与使用Apache CXF和WSS4J安全框架的Web服务的认证过程。 *...

    ksoap2-android-assembly-3.6.0-jar-with-dependencies

    ksoap2 3.6 android webservice

    ksoap2-android3.6.2

    kSOAP2是一个轻量级的开源库,专为Android平台设计,用于实现SOAP(Simple Object Access Protocol)服务的客户端调用。SOAP是一种基于XML的协议,广泛用于Web服务的交互,使得不同编程语言和操作系统之间的数据交换...

    ksoap2-android

    ksoap2-android-assembly-3.0.0-jar-with-dependencies.jar

    Android 通过 Ksoap2 访问 Web Service Demo

    - 确保网络权限已添加到AndroidManifest.xml中:`&lt;uses-permission android:name="android.permission.INTERNET" /&gt;` - 针对不同的Web Service,可能需要调整SOAP请求的参数和命名空间等。 - 考虑到异步处理,...

    Android使用ksoap2+协程+handler实现WebService

    本示例主要探讨如何在Android应用中利用kotlin的协程(Coroutines)和ksoap2库来实现对WebService的调用,并解决在API 30及以上版本中Handler过时的问题。 一、ksoap2库介绍 ksoap2是一个轻量级的开源库,专为...

    ksoap2-android...3.30.jar

    ksoap2-android调用WebService 在Android中应用中的jar

Global site tag (gtag.js) - Google Analytics