2
我正在使用ksoap,我想將我的android收集的位置信息發送到ksoap。我想嘗試和避免做一個馬歇爾類等,是否有一個簡單的方法來序列化併發送到我的SOAP XML的雙?我試過使用String.valueof但是它會拋出一個錯誤,所以我假設我不能使用它。另外它是一個問題,我傳遞一個double的xml類型十進制?一個簡單的方法來連載一個double?
這是XML文件,我發送給:
<s:element name="Customerlocation_AddNew">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Token" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="latitude" type="s:decimal" />
<s:element minOccurs="1" maxOccurs="1" name="longitude" type="s:decimal" />
<s:element minOccurs="1" maxOccurs="1" name="StatusId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
和我的java代碼至今:
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); // set
request.addProperty("Username", username); // variable name, value. I
// got
request.addProperty("latitude", String.valueOf(Latitude));
request.addProperty("longitude", String.valueOf(Longitude));
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11); // put all required data into a soap
envelope.dotNet = true;
envelope.setOutputSoapObject(request); // prepare request
AndroidHttpTransport httpTransport = new AndroidHttpTransport(URL);
httpTransport.debug = true;
httpTransport.call(SOAP_ACTION, envelope); // send request
System.out.println("HERE IS THE ENVELOPE "
+ envelope.getInfo("User", "Password"));
SoapObject result = (SoapObject) envelope.getResponse(); // get
System.out.println(result);
我會執行它,然後很快回復你。 –
似乎我已經這樣做了,但是我在回覆中收到錯誤。我在想我的肥皂表可能有問題。 –
我已經更新了我的答案,以幫助您解決您的問題... – Flavio