簡體   English   中英

android:調用java webservice異常-java.lang.RuntimeException

[英]android : call java webservice exception -java.lang.RuntimeException

您好,我試圖從android應用程序調用網絡服務。

正在將可序列化的對象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植入類:

    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等普通對象,則不會遇到任何問題。

誰能給我一個有關如何解決此問題的想法。

即使不執行任何操作,也必須添加默認構造函數。 否則,它將不會被視為可序列化

碼:

public class Person implements Serializable{

    private String firstName;
    private String lastame;

    private Person() {}

    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;
    }
}

嘗試在此處實現KvmSerializable接口, 這里有2個非常明確的教程,希望它們會有所幫助:)

如果您想有效地使用可序列化的接口,那么遵循良好的方法非常重要,此處顯示了一個很好的示例: http : //www.jondev.net/articles/Android_Serialization_Example_(Java)

實施時務必要嚴格。

祝好運! 如果想要更好的響應,則需要顯示更多代碼。 在這里,您的課程很適合序列化,但這取決於您的制作方式!

編輯:的確是阿德爾,很好!

編輯2:似乎是與這里相同的問題:

HttpTransportSE requestDump給出NullPointerException

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM