私はこの構造を持っています。アイテムのリストを持つシンプルな構造です。
<soap:Body>
<SendPositions xmlns="http://tempuri.org/">
<username>string</username>
<password>string</password>
<loc>
<Pos>
<Lat>double</Lat>
<Lon>double</Lon>
<ts>dateTime</ts>
</Pos>
<Pos>
<Lat>double</Lat>
<Lon>double</Lon>
<ts>dateTime</ts>
</Pos>
</loc>
</SendPositions>
リクエストを送信しようとしましたが、常にエラーが発生します。
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
Request.addProperty("username", zG.getID());
Request.addProperty("password", zG.getPIN());
SoapObject locations = new SoapObject(NAMESPACE, "loc");
for (Pos pozycja : zG.getListPositions())
{
SoapObject pos = new SoapObject(NAMESPACE, "Pos");
pos.addProperty("Lat", pozycja.getLat() + "");
pos.addProperty("Lon", pozycja.getLon() + "");
pos.addProperty("ts", pozycja.getDate()); // datetime yyyy-MM-dd HH:mm:ss.SSS
locations.addSoapObject(pos);
}
Request.addSoapObject(locations);
Log.i("Request", Request.toString());
問題はシリアル化データだとまだ考えています。だから私はこのコードを使用します:
MarshalDouble md = new MarshalDouble();
md.register(soapEnvelope);
私のログ(アップコードの最後の行)
SendPositions{username=50000000; password=11111111111; loc{Pos{Lat=52.0; Lon=20.0; ts=2013-08-08 23:45:39.378; }Pos{Lat=52.0; Lon=20.0; ts=2013-08-08 23:46:04.416; }}}
私のエラーは次のとおりです。
HTTP request failed, HTTP status: 500 - HTTP request failed, HTTP status: 500
残念ながら、設定サーバーを変更できません...
何が間違っているのか分かりますか?
ありがとう!