2016-06-11 61 views
0

我在調用其中一個GWT服務時出錯。GWT RPC:使用其他服務實現的方法失敗

enter image description here

Eclipse控制檯拿出這樣的:

SCHWERWIEGEND: javax.servlet.ServletContext log: Exception while dispatching incoming RPC call 
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract de.hdm.gruppe09.clickandlove.shared.report.AllInfosOfProfileReport  de.hdm.gruppe09.clickandlove.shared.ReportGenerator.createAllInfosOfProfileReport(de.hdm.gruppe09.clickandlove.shared.bo.Profil) throws java.lang.IllegalArgumentException' threw an unexpected exception: java.lang.NullPointerException 
....... 
Caused by: java.lang.NullPointerException 
at de.hdm.gruppe09.clickandlove.server.report.ReportGeneratorImpl.createAllInfosOfProfileReport(ReportGeneratorImpl.java:107) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:130) 
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561) 
... 40 more 

ReportGeneratorImpl.java:107看起來像這樣(107是第一個兩Sysos的):

103  //Abrufen des eingeloggten Profils. Wird benoetigt für die anschließende Berechnung des Aehnlichkeitsmaßes 
104 Profil ep = this.verwaltung.getEingeloggtesProfil(); 

//Ausgaben über das ep. Nur zu Textzwecken 
107  System.out.println("RGImpl: eingeloggtesProfilID:" + ep.getId()); 
    System.out.println("RGImpl: eingeloggtesProfilMail:" + ep.getEmail()); 


//Abrufen des Aehnlichkeitsma�es 

int score = this.verwaltung.berechneAhnlichkeit(p, ep); 
System.out.println("RGImpl: Score:" + score); 
//Score Int Wert in String umwandeln, da new Column nur String Werte annimmt 
String scorestring = Integer.toString(score); 
//Setzen des Aehnlichkeitsma�es 
Row TopRow = new Row(); 
TopRow.addColumn(new Column(fullname)); 
TopRow.addColumn(new Column(scorestring)); 

顯然,對象ep必須爲空。可能因爲第104行失敗。 只要我使用「this.verwaltung」的方法,我的方法就會失敗。 這裏是我創造我的VERWALTUNG的對象:

private Verwaltung verwaltung = null; 

public void init() throws IllegalArgumentException { 
    VerwaltungImpl a = new VerwaltungImpl(); 
    a.init(); 
    this.verwaltung = a; 
} 

由於兩個「ReportGeneratorImpl」和VerwatlungImpl」我明白,我不需要回調使用方法彼此在服務器上運行,對不對?

+0

基督教,你怎麼登錄本PROFIL?什麼時候eingeloggtesProfil被設置? – thst

回答