RPC调用从客户端服务到调用者(GWT)的数据

时间:2014-11-02 17:01:42

标签: java gwt rpc

我无法解释以下情况:

我进行RPC调用,将服务器文件中的数据加载到可序列化对象列表中。

问题如下:

就我所知,调用执行完全正常(这就是为什么我没有发布接口和服务器端代码)。当我在客户端设置列表时,一切都很好(我检查setData()中的大小)。但是,当我想将列表分配给类调用中的对象时,我得到一个空列表(sizecheck返回nullpointer)。

以下是客户端代码:

public class DataImportServiceClientImpl {
    private DataImportServiceAsync service;
    private List<Datarow> data;
    public DataImportServiceClientImpl(String url){
        this.service = GWT.create(DataImportService.class);
        ServiceDefTarget endpoint = (ServiceDefTarget) this.service;
        endpoint.setServiceEntryPoint(url);
        }

    public void readInput(String Auswertung){
        this.service.readInput(Auswertung, new DefaultCallback());
    }

    public List<Datarow> getData() {
        return data;
    }

    public void setData(List<Datarow> data) {
        this.data = data;
        System.out.println(data.size()); //returns the correct value
    }

    private class DefaultCallback implements AsyncCallback {

        @Override
        public void onFailure(Throwable caught) {
            System.out.println("An Error has occured!");
        }

        @Override
        public void onSuccess(Object result) {
            if(result instanceof List<?>){
            List<Datarow> temp = (List<Datarow>) result;
            setData(temp);
            }
        }

    }
}

我在这里称呼它(这显然是一个不同的类):

    private DataImportServiceClientImpl importer = new DataImportServiceClientImpl(GWT.getModuleBaseURL()+"DataImport");
    private String Auswertung = "xyz";
    private List<Datarow> data = new ArrayList<Datarow>();

    public void onModuleLoad() {
        importer.readInput(Auswertung);
        data = importer.getData();
        System.out.println(importer.getData().size()); //returns Nullpointer = same for data.size()

0 个答案:

没有答案