私は 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 を呼び出すと、ボディ リクエストの最初に配列値が配置されます。そのため、eventValues 要素内のすべてがリクエストの先頭に表示されます。リクエストが成功するための最後の要素である必要があります。他のすべてのプロパティ要素は正しい順序になっています。
KSOAP に順序を指示する方法はありますか? バージョン 2.6.0 を使用しています。
どんな提案でも大歓迎です!