0
現在不管我如何格式化我的請求屬性,它獲得:是否可以通過ksoap2發送一個基元數組?
Cannot Serialize: [int, int, int]
錯誤。我不知道還有什麼可以嘗試的。我試過了:
ArrayList<Integer>, int[], Vector<Integer>, List<Integer>
這些都沒有奏效。我得到的最接近的一次是矢量。它似乎已經序列化的矢量對象很好,但是當我將它發送到Web服務方法,我得到了錯誤:
java.lang.RuntimeError Mismatched types
是的,我已經改變了向Vector輸入參數,並確保我已導入相同類型的向量。
這是我的Web服務和我的應用程序,所以我確實有它的全部範圍。我願意更改應用程序和WS的任何部分。如果您有任何想法,請讓我知道。這是我如何創建我的Web服務請求:
這是我試圖使用Vector在全法
public ArrayList<Contacts> getLocationslist(Vector<Integer> list){
ArrayList<Contacts> contacts = new ArrayList<Contacts>();
String SOAP_ACTION = "urn:getLocationsList";
String METHOD_NAME = "getLocationsList";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("arg0", list);
SoapSerializationEnvelope envelope =
new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION, envelope);
int i = 0;
SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
while (i < resultsRequestSOAP.getPropertyCount()){
Contacts cont = new Contacts();
try {
Ksoap2ResultParser.parseBusinessObject(resultsRequestSOAP.getProperty(i).toString(), cont);
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
contacts.add(cont);
i = i + 1;
}
} catch (Exception e) {
e.printStackTrace();
}
return contacts;
}
我對你這麼計數!提前致謝。