我一直在使用KSOAP for Android发送包含6个元素的SOAP请求,其中最后一个是值数组。这是代码......
PropertyInfo properties[] = new PropertyInfo[numberOfProperties];
properties[0] = new UserLogin("user2");
properties[1] = new UserPassword("u2");
properties[2] = new MAC_ID("00:01:02:03:04:05");
properties[3] = new StartMeasurement(mStartTime);
properties[4] = new StopMeasurement(mStopTime);
SoapObject soapObjectRequest = new SoapObject(ROOT_NAMESPACE, mSoapMethodName);
for(int i=0;i< properties.length;i++)
soapObjectRequest.addProperty(properties[i]);
SoapObject eventList = new SoapObject(ROOT_NAMESPACE, "eventValues");
SoapObject eventValues = new SoapObject(TYPE_NAMESPACE, "EventValues");
eventValues.addProperty(9.9);
eventValues.addProperty(101.1);
eventList.addSoapObject(eventValues);
soapObjectRequest.addSoapObject(eventList);
请求中的一切正常,禁止订购。当我调用addSoapObject时,它会将数组值放在body请求中。因此,eventValues元素中的所有内容都显示在请求的顶部。它应该是请求成功的最后一个元素。所有其他属性元素的顺序正确。
是否有某种方法来指示KSOAP的订单?我使用的是2.6.0版本。
任何建议都赞赏!
答案 0 :(得分:0)
如果你想修复它,这里有一个补丁和lib ksoap2-android-assembly-2.6.1 - jar-with-dependencies.jar http://fbe.am/3k&lt; ---- 2补丁和lib
以下是主题:http://groups.google.com/group/ksoap2-android/browse_thread/thread/1ee05350dd8c041
对安德鲁·奥来说很多。这里也是他的修复补丁(补丁是由他生成的)http://github.com/Usagimaru57/ksoap2-android
它对我有用。