您好正在尝试从 android 应用程序调用 web 服务。
我将一个可序列化的对象Person
从我的 android 应用程序传递给调用 web 服务。并且在服务器端正在使用这个可序列化的对象并在那里进行一些修改。
但问题是在执行我的 android 应用程序时,它显示如下异常: java.lang.RuntimeException: Cannot serialize: com.test.android.Person@43950fe0
我对解决这个问题没有任何想法。双方都在使用可序列化的对象来设置和获取参数。
以下是正在使用的人员类
public class Person implements Serializable{
private String firstName;
private String lastame;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastame() {
return lastame;
}
public void setLastame(String lastame) {
this.lastame = lastame;
}
}
我在android端的webservice imlpementation类:
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("person", person);
SoapSerializationEnvelope envelope =
new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
如果将可序列化对象作为参数传递,则在这一行中出现错误androidHttpTransport.call(SOAP_ACTION, envelope);
,但如果参数是普通对象,如 String、int 等,则不会遇到任何问题。
谁能给我一个关于如何解决这个问题的想法。?