我的android app中需要发送webservice ,于是我使用了 ksop2 进行发送,在测试过程中不是很顺利,不能正常工作.
我的web service 请求格式如下
- <Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
- <Body>
- <UpdateVehicleViaObj xmlns="http://tempuri.org/">
- <userHash>[string?]</userHash>
- <vehicleObject>
- <Colour xmlns="http://schemas.datacontract.org/2004/07/StockService">[string?]</Colour>
- <Comments xmlns="http://schemas.datacontract.org/2004/07/StockService">[string?]</Comments>
- <Condition xmlns="http://schemas.datacontract.org/2004/07/StockService">[string?]</Condition>
- </vehicleObject>
- </UpdateVehicleViaObj>
- </Body>
- </Envelope>
我在android 代码中使用 ksoap2 如下
- SoapObject request = new SoapObject("Namespace", "methodname");
- request.addProperty(properyObject);
- SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
- //SOAP is implemented in dotNet true/false.
- envelope.dotNet = true;
- MarshalDouble md = new MarshalDouble();
- //envelope.implicitTypes = true;
- envelope.implicitTypes = true;
- md.register(envelope);
- //Set request data into envelope and send request using HttpTransport
- envelope.setOutputSoapObject(request);
- HttpTransportSE androidHttpTransport = new HttpTransportSE(mInObj.getUrl(), networkTimeOut);
- androidHttpTransport.debug= true;
- androidHttpTransport.call(SoapAction, envelope,headerPropertyArrayList);
ksop2 处理请求后变成这样
- <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><
- &
- <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人 整理发布,转载须标明出处。
相关推荐
本篇将详细介绍Android KSOAP2 3.6版本在Webservice中的应用及关键知识点。 1. **SOAP与KSOAP2**: SOAP是一种基于XML的协议,用于在分布式环境中交换结构化和类型化的信息。KSOAP2是Android平台上的SOAP客户端库...
1. **添加依赖**:在Android项目的build.gradle文件中引入Ksoap2库,通常使用的是以下依赖: ```groovy implementation 'com.tonilabs:soap-android:3.6.0' ``` 2. **创建SOAP请求**:定义SOAPAction、Namespace...
在Android中,ksoap2-android库是用于调用SOAP(Simple Object Access Protocol)Web Service的首选工具。本篇将详细介绍如何利用ksoap2-android-3.6.4库在Android应用中调用Web Service。 首先,我们需要理解SOAP...
在AndroidManifest.xml中添加 `<uses-permission android:name="android.permission.INTERNET" />` 权限。 接下来,让我们结合ViewPager实现天气查询功能。首先,创建一个PagerAdapter子类,重写`instantiateItem()...
使用ksoap2调用Webservice实例 需将lib文件夹设置为源文件夹 在AndroidManifest.xml文件中加入<uses-permission android:name="android.permission.INTERNET" />
ksoap2-android库使得开发者可以方便地在Android应用中调用远程Web服务的方法,无需了解底层的HTTP和XML细节。 ksoap2-android-assembly-2.4-jar是该库的一个较早版本,包含了必要的依赖项。开发者可以通过导入这个...
Android KSOAP2 API Chm版
本示例将详细介绍如何在Android中利用ksoap2库进行WebService网络通信。 首先,我们要理解SOAP(Simple Object Access Protocol),它是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息。ksoap2则提供了...
在Android平台调用Web Service需要依赖于第三方类库ksoap2,它是一个SOAP Web service客户端开发包。此jar包用于android和webservice进行通信,目前版本3.6.2
标题中的"**ksoap2-android-2.5.4.jar.zip**"正是这个库的压缩包文件,包含了ksoap2-android的特定版本——2.5.4。 SOAP是一种基于XML的协议,用于在不同操作系统和编程语言之间交换结构化信息,特别适合于跨平台的...
### KSOAP2序列化复杂参数 #### 概述 在Android开发过程中,处理与Web服务交互的任务时常需要用到KSOAP2库。KSOAP2是用于Android平台的一个轻量级SOAP库,它提供了简单的方法来发送SOAP请求和解析SOAP响应。本文将...
本篇文章将深入探讨如何在Android中利用KSOAP2库来访问和使用WebService。 1. **SOAP与KSOAP2简介** SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在分布式环境中交换结构化和类型化信息。...
在Android开发中,有时我们需要与基于SOAP的Web服务进行交互,Ksoap2是一个流行的库,用于处理这种通信。本文将深入探讨如何使用Ksoap2在Android客户端实现与使用Apache CXF和WSS4J安全框架的Web服务的认证过程。 *...
ksoap2 3.6 android webservice
kSOAP2是一个轻量级的开源库,专为Android平台设计,用于实现SOAP(Simple Object Access Protocol)服务的客户端调用。SOAP是一种基于XML的协议,广泛用于Web服务的交互,使得不同编程语言和操作系统之间的数据交换...
ksoap2-android-assembly-3.0.0-jar-with-dependencies.jar
- 确保网络权限已添加到AndroidManifest.xml中:`<uses-permission android:name="android.permission.INTERNET" />` - 针对不同的Web Service,可能需要调整SOAP请求的参数和命名空间等。 - 考虑到异步处理,...
本示例主要探讨如何在Android应用中利用kotlin的协程(Coroutines)和ksoap2库来实现对WebService的调用,并解决在API 30及以上版本中Handler过时的问题。 一、ksoap2库介绍 ksoap2是一个轻量级的开源库,专为...
ksoap2-android调用WebService 在Android中应用中的jar