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

[html]view plaincopy

<Envelopexmlns="http://schemas.xmlsoap.org/soap/envelope/">

<Body>

<UpdateVehicleViaObjxmlns="http://tempuri.org/">

<userHash>[string?]</userHash>

<vehicleObject>

<Colourxmlns="http://schemas.datacontract.org/2004/07/StockService">[string?]</Colour>

<Commentsxmlns="http://schemas.datacontract.org/2004/07/StockService">[string?]</Comments>

<Conditionxmlns="http://schemas.datacontract.org/2004/07/StockService">[string?]</Condition>

</vehicleObject>

</UpdateVehicleViaObj>

</Body>

</Envelope>



我在android 代码中使用 ksoap2 如下

[java]view plaincopy

SoapObjectrequest=newSoapObject("Namespace","methodname");

request.addProperty(properyObject);

SoapSerializationEnvelopeenvelope=newSoapSerializationEnvelope(SoapEnvelope.VER11);

//SOAPisimplementedindotNettrue/false.

envelope.dotNet=true;

MarshalDoublemd=newMarshalDouble();

//envelope.implicitTypes=true;

envelope.implicitTypes=true;

md.register(envelope);

//SetrequestdataintoenvelopeandsendrequestusingHttpTransport

envelope.setOutputSoapObject(request);

HttpTransportSEandroidHttpTransport=newHttpTransportSE(mInObj.getUrl(),networkTimeOut);

androidHttpTransport.debug=true;

androidHttpTransport.call(SoapAction,envelope,headerPropertyArrayList);



ksop2 处理请求后变成这样

[html]view plaincopy

<v:Envelopexmlns: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><UpdateVehicleViaObjxmlns="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人整理发布,转载须标明出处。