Client Code Programmierung

NullPointerException

 
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 5
Dabei seit: 04 / 2017
Betreff:

Client Code Programmierung

 · 
Gepostet: 27.04.2017 - 22:23 Uhr  ·  #1
Hallo,

ich versuche gerade einen Client zu programmieren. Bei mir wird der folgende Fehler erzeugt:

Code

Exception in thread "main" java.lang.NullPointerException
  at org.kapott.hbci.manager.HBCIUtilsInternal.getLocMsg(HBCIUtilsInternal.java:116)
  at org.kapott.hbci.manager.HBCIUtilsInternal.getLocMsg(HBCIUtilsInternal.java:133)
  at org.kapott.hbci.manager.HBCIUtilsInternal.getLocMsg(HBCIUtilsInternal.java:128)
  at org.kapott.hbci.manager.HBCIUtils.getParam(HBCIUtils.java:1158)
  at org.kapott.hbci.manager.HBCIUtils.getParam(HBCIUtils.java:1191)
  at org.kapott.hbci.passport.HBCIPassportPinTan.<init>(HBCIPassportPinTan.java:92)
  at com.mycompany.hbcitest.Main.main(Main.java:74)


Mein Code sieht folgendermaßen aus:
Code

private static class MyHBCICallback
        extends HBCICallbackConsole
    {
        public void callback(HBCIPassport passport,int reason,String msg,int dataType,StringBuffer retData)
        {
            if (reason == HBCICallback.CLOSE_CONNECTION || reason == HBCICallback.NEED_CONNECTION)
                return;
            
            System.out.println("Callback für folgendes Passport: "+passport.getClientData("init").toString() + ", reason=" + reason);
            super.callback(passport,reason,msg,dataType,retData);
        }
}

public static void main(String[] args) throws Exception {

Properties props = new Properties();
        
        // BLZ
        props.put(HBCICallback.NEED_BLZ,          "xxxx");
        props.put(HBCICallback.NEED_CUSTOMERID,   "xxxxxx");
        props.put(HBCICallback.NEED_HOST,         "https://xxxxx/cgi-bin/hbciservlet");
        props.put(HBCICallback.NEED_PT_PIN,       "password");
        props.put(HBCICallback.NEED_USERID,       "username");
        props.put(HBCICallback.NEED_PT_SECMECH,   HBCIVersion.HBCI_220.getId());
        props.put(HBCICallback.NEED_COUNTRY,      "DE");
        props.put(HBCICallback.NEED_FILTER,       "Base64");
        
        //HBCIPassportPinTan passport = (HBCIPassportPinTan) AbstractHBCIPassport.getInstance();
        HBCIPassportPinTan passport = new HBCIPassportPinTan("");
        HBCIHandler handler = null; // = new HBCIHandler(HBCIVersion.HBCI_220.getId(), passport);
        
        // HBCI4Java initialisieren
        //HBCIUtils.loadPropertiesFile(new FileSystemClassLoader(),"/home/jonas/java/hbci/jw.hbci4java.properties")
        HBCIUtils.init(props, new MyHBCICallback());
        
         // Nutzer-Passport initialisieren
        //Object passportDescription = "Passport für Kontoauszugs-Demo";
        //passport = AbstractHBCIPassport.getInstance(passportDescription);

         try {
            // ein HBCI-Handle für einen Nutzer erzeugen
            String version = passport.getHBCIVersion();
            
            //hbciHandle=new HBCIHandler("300", passport);
             handler = new HBCIHandler((version.length()!=0)?version:"plus",passport);

            System.out.println("Alle Geschäftsvorfälle in HBCI4Java: " + handler.getKernel().getAllLowlevelJobs().toString());
            System.out.println("Unterstützte Geschäftsvorfälle der Bank: " + handler.getSupportedLowlevelJobs().toString());
            
            //"Trockentest" des Umsatzparsers mit vorgebenen Daten
            //test_ums(hbciHandle, "/home/jonas/java/hbci/msg536.txt");
            //test_ums(hbciHandle, "/home/jonas/java/hbci/msg536_hbci-zka.txt");
            
            //Konten ausgeben
            System.out.println("Kontenliste:");
            System.out.println("------------");
            Konto[] konten = passport.getAccounts();
            for (int i=0; i<konten.length; i++) {
                System.out.println("Konto " + i + ":  " + konten[i]);
            }            
            
            /*BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));
            String line;
            int umsatzkto=-1, depotkto=-1;
            
            System.out.print("Bitte Konto für Umsatzliste eingeben (-1, um zu überspringen): ");
            do {
                line = rd.readLine();
                try {
                    umsatzkto = Integer.parseInt(line);
                    if (umsatzkto >= -1 && umsatzkto < konten.length) {
                        break;
                    } else {
                        System.out.println("Ungültiges Konto: " + line);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } while (line != null);
            System.out.print("Bitte Konto für Depotliste eingeben (-1, um zu überspringen): ");
            do {
                line = rd.readLine();
                try {
                    depotkto = Integer.parseInt(line);
                    if (depotkto >= -1 && depotkto < konten.length) {
                        break;
                    } else {
                        System.out.println("Ungültiges Konto: " + line);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } while (line != null);
            
            // Umsätze auflisten (als Demo, dass es grundsätzlich funktioniert)
            if (umsatzkto >= 0)
                analyzeReportOfTransactions(passport, handler, konten[umsatzkto]);
            
            // Depotinhalt auflisten
            if (depotkto >= 0)
                analyzeDepot(passport, handler, konten[depotkto]);
            */
        } finally {
            if (handler!=null) {
                handler.close();
            } else if (passport!=null) {
                passport.close();
            }
}



}



Weiß Jemand woran das liegt?
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 8116
Dabei seit: 08 / 2002
Betreff:

Re: Client Code Programmierung

 · 
Gepostet: 28.04.2017 - 08:16 Uhr  ·  #2
Ich kenne Java nicht, aber mein Suchdienst meint:
Zitat
Eine NullPointerException tritt auf, wenn du eine Methode auf einem Objekt aufrufst, dieses Objekt aber nicht vorhanden ist. Die Variable, die auf das Objekt verweisen sollte, ist null. Daher NullPointerException.

Vermutlich wärst du in einem speziellen Java-Forum besser aufgehoben.
Gruß
Raimund
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10127
Dabei seit: 03 / 2005
Betreff:

Re: Client Code Programmierung

 · 
Gepostet: 28.04.2017 - 09:16 Uhr  ·  #3
Gewählte Zitate für Mehrfachzitierung:   0