好吧,這裏是我的問題:ksoap2 evelope.getResponse得到一個NullPointerException
我發送SOAP請求,我也得到一個有效的答案,一切都正常工作,我得到的responsedump內的有效輸出。 但是調用evelope.getResponse():
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
//adding parameters
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
envelope.setAddAdornments(false);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.debug = true;
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapObject so = (SoapObject) envelope.getResponse();
引發此異常:
Caused by: java.lang.NullPointerException
at org.ksoap2.serialization.SoapSerializationEnvelope.getResponse(SoapSerializationEnvelope.java:521)
錯誤是GETRESPONSE 內從ksoap2的來源:
/** * 來自肥皂調用的響應。從包裝對象中取出對象並將其返回。 * * @since 2.0.3 * @從soap調用返回響應。 * @throws的SOAPFault */
public Object getResponse() throws SoapFault {
if (bodyIn instanceof SoapFault) {
throw (SoapFault) bodyIn;
}
KvmSerializable ks = (KvmSerializable) bodyIn; <-- Line 521
if (ks.getPropertyCount()==0) {
return null;
} else if(ks.getPropertyCount()==1) {
return ks.getProperty(0);
} else {
Vector ret = new Vector();
for(int i=0;i<ks.getPropertyCount();i++){
ret.add(ks.getProperty(i));
}
return ret;
}
}
你是怎樣終於設法解決這個問題? – 2013-01-15 07:38:03
我無法解決問題,所以我解析輸出手動... – Kostronor 2013-01-15 11:35:14