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

我的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人 整理发布,转载须标明出处。

时间: 2024-10-10 01:44:22

android ksoap2 中把XML(DataSet) 当做参数传递的相关文章

android 代码中及xml中设置透明

在布局文件的属性中,比如要设置一个LineaerLayout的背景为灰色透明.首先查RGB颜色表灰色是:#9E9E9E,AA代表透明,(透明度从00到FF,00表示完全透明),所以,设置其属性:android:background="#AA9E9E9E",其中前两位为透明度,后六位为颜色. Java代码 View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id v.getBackground().setAlpha(100);/

在Android中使用Android Ksoap2调用WebService

一.WebService介绍 WebService是基于SOAP协议可实现web服务器与web服务器之间的通信,因采用SOAP协议传送XML数据具有平台无关性,也是成为解决异构平台之间通信的重要解决方案,比如Java平台与.net平台之间.因此在web应用中有着举足轻重的作用,很多机构.组织都在各自平台上对外发布了WebService(例如:天气预报.航班信息.股市行情等等),这样任何平台和客户都可以享受到这些服务,当然有些是要付费的. 二.Android ksoap2组件 对于Android端

Android中解析XML

XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法. 在Android中,常见的XML解析器分别为SAX解析器.DOM解析器和PULL解析器,下面,我将一一向大家详细介绍. SAX解析器: SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的.当事

android开发中eclipse里xml开发的自动提示和使用帮助快捷键提示

Eclipse Android 代码自动提示功能 Eclipse for android 设置代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > Java > Editor - Content Assist > Auto activation triggers for Java ,设置框中默认是一个点, .abcdefghijklmnopqrstuvwxyz(, 打 开 Eclipse 依次选择 Window > Preference

android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件

1.下载工具 xstream 下载最新版本地址: https://nexus.codehaus.org/content/repositories/releases/com/thoughtworks/xstream/ 下载完成后 把jar包导入到自己的android项目中 2.asset 文件夹 下的 aa.xml 文件 <?xml version="1.0" encoding="UTF-8"?><product>    <name>

android 中theme.xml与style.xml的区别

from://http://liangoogle.iteye.com/blog/1848448 android 中theme.xml与style.xml的区别: 相同点: 两者的定义相同. <resources> <stylename="theme"parent="android:Theme.Black"> <itemname="android:windowNoTitle">true< /item>

Android之旅十四 android中的xml文件解析

在我们做有关android项目的时候,肯定会涉及到对xml文件的解析操作.以下给大家介绍一下xml文件的解析.包括DOM.SAX.Pull以及曾经我们用到的DOM4J和JDOM: 要解析的XML文件:person.xml <? xml version="1.0" encoding="UTF-8"? > <persons> <person id="001"> <name>zhangsan</na

解决Android中fragment_main.xml文件中的组件获取的问题

package com.dhy.phonedial; import android.app.Activity; import android.app.Fragment; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.Me

android 程序中res/values-v14/styles.xml报错的解决办法

从旧的ADT迁移的新的ADT时, android 程序中res/values-v14/styles.xml报错: error: Error retrieving parent for item: No resource found that matches the given name :Theme.AppCompat.Light.DarkActionBar 解决办法:修改项目下的project-properties文件, 把下面这一行加入,指向新导入的support库(需要先导入这个库) an