Kriege Hbci4Java Server nicht zum laufen

 
GustavG
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 3
Dabei seit: 01 / 2008
Betreff:

Kriege Hbci4Java Server nicht zum laufen

 · 
Gepostet: 19.01.2008 - 16:31 Uhr  ·  #1
Hallo,

ich versuche schon seit einiger Zeit den Hbci4Java SERVER zum laufen zu bekommen. Tomcat5 aufgesetzt auf einer CentOS 5.1 installation, soweit alles im README und README.PinTan stand durchgeführt. Versuche ich nun aber die SystemIds abzurufen via PinTan erhalte ich einen Error (auszug aus dem Tomcat5 Log):

Zitat
Jan 19, 2008 4:12:57 PM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Jan 19, 2008 4:12:58 PM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8443
Jan 19, 2008 4:12:58 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jan 19, 2008 4:12:58 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/208 config=null
Jan 19, 2008 4:12:59 PM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Jan 19, 2008 4:12:59 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2597 ms
Jan 19, 2008 4:13:09 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet pintan threw exception
java.lang.RuntimeException: java.rmi.ServerError: Error occurred in server thread; nested exception is:
java.lang.NoSuchMethodError: org.kapott.hbci.security.factory.CryptFactory.createCrypt(Lorg/kapott/hbci/protocol/MSG;Lorg/kapott/hbci/manager/MsgGen;Lorg/kapott/hbci/passport/HBCIPassportInternal;)Lorg/kapott/hbci/security/Crypt;
at org.kapott.hbci.server.pintan.PinTanWrapper.doPost(PinTanWrapper.java:83)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.rmi.ServerError: Error occurred in server thread; nested exception is:
java.lang.NoSuchMethodError: org.kapott.hbci.security.factory.CryptFactory.createCrypt(Lorg/kapott/hbci/protocol/MSG;Lorg/kapott/hbci/manager/MsgGen;Lorg/kapott/hbci/passport/HBCIPassportInternal;)Lorg/kapott/hbci/security/Crypt;
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
at org.kapott.hbci.server.listener.RMIListenerImpl_Stub.handleMessage(Unknown Source)
at org.kapott.hbci.server.pintan.PinTanWrapper.doPost(PinTanWrapper.java:73)
... 16 more
Caused by: java.lang.NoSuchMethodError: org.kapott.hbci.security.factory.CryptFactory.createCrypt(Lorg/kapott/hbci/protocol/MSG;Lorg/kapott/hbci/manager/MsgGen;Lorg/kapott/hbci/passport/HBCIPassportInternal;)Lorg/kapott/hbci/security/Crypt;
at org.kapott.hbci.server.Dialog.handleMessage(Dialog.java:128)
at org.kapott.hbci.server.DialogMgr.handleMessage(DialogMgr.java:76)
at org.kapott.hbci.server.listener.RMIListenerImpl.handleMessage(RMIListenerImpl.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
... 1 more



Es kommt also eine "MethodNotFound" Exception, leider habe ich keine Ahnung wieso :shock: . Den HBci4Java Server Core habe ich natürlich vorher gestaretet via:
"java -cp /usr/local/lib/hbci4java/jar/hbci4java.jar:deploy/WEB-INF/lib/hbci4java-server.jar:demo/deploy/WEB-INF/lib/hbci4java-server-demo.jar org.kapott.demo.hbci.server.TestServer demo/server-data"

Pfade:
/usr/local/lib/hbci4java/ (die HBCI4Java Client bibliothek)
/usr/local/lib/hbci4java-server/ (die Server sachen)

Jemand eine Idee?
Irgendwie scheint es nur den testserver von HBCI4Java direkt zu geben und niemand sonst sowas zu betreiben. Wie debuggt ihr denn eure Bankinganwendungen?

Grüße
Gustav
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10835
Dabei seit: 03 / 2005
Betreff:

Re: Kriege Hbci4Java Server nicht zum laufen

 · 
Gepostet: 21.01.2008 - 12:10 Uhr  ·  #2
"org.kapott.hbci.security.factory.CryptFactory.createCrypt" wird mit der angegebenen Methodensignatur nicht gefunden. Die hat sich von 2.5.0 zu 2.5.6 geaendert. Also ist der HBCI4Java-Server wohl noch nicht kompatibel zu HBCI4Java 2.5.6 - du musst also IMHO die 2.5.0 als Client-Bibliothek verwenden.

Zitat
Irgendwie scheint es nur den testserver von HBCI4Java direkt zu geben und niemand sonst sowas zu betreiben. Wie debuggt ihr denn eure Bankinganwendungen?


Ich hab mir einen HBCI4Java-Server lokal aufm Intranetserver installiert ;)
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: Kriege Hbci4Java Server nicht zum laufen

 · 
Gepostet: 21.01.2008 - 14:15 Uhr  ·  #3
Die HBCI4Java-Server-Pakete, die zum Download zur Verfügung stehen, sind seeeehr als, fehlerbehaftet und nicht mehr kompatibel zur aktuellen Version der HBCI4Java-Bibliothek.

Der Demo-Server, der online zum Testen bereitsteht, arbeitet mit einer wesentlich neueren Version des HBCI4Java-Server-Codes.

Grüße
-stefan-
GustavG
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 3
Dabei seit: 01 / 2008
Betreff:

Re: Kriege Hbci4Java Server nicht zum laufen

 · 
Gepostet: 02.03.2008 - 17:36 Uhr  ·  #4
Also ich habe jetzt mit einer älteren HBCI4Java client bibliothek (hbci4java-2.5.0rc-9-bin) den server irgendwie zum laufen gebracht :D

Soweit klappt das Abrufen der Systemkennung und auch die Umsatz/Kontostand abfrage ohne Fehler. Zu problemen kommt es allerdings bei überweisungen, das brauch ich aber nicht unbedingt. Standmässig liegen keine Umsätze vor, ich hab ein bisschen gewühlt und herausgefunden dass das test-backend die Umsätze in der XML Datei nutzer1_transfers_<kontonr> gespeichert werden.

Nun will ich fragen ob jemand so eine Beispiel transfers-datei hat bzw den strukturellen XML Aufbau hat, sodass ich mir von hand eine datei mit testumsätzen zusammenschustern kann. Damit sollte ich dann eigentlich auch die umsätze vom hbciserver abrufen können.

Ich brauche eine eigene Installtion von einem HBCIserver ganz einfach weil ich
a) UnitTests anlegen will um Fehler besser finden zu können. So ein Run von einem UnitTest würde den öffentliche HBCI4Java testserver immens belasten und habe ich nicht vor so durchzuführen
b) durch eine transfers-Xml datei ganz einfach das konto reseten könnte, da ich ja für die unit-tests stets "gleiche" werte brauche, also z.B ein Umsatzabfrage stets gleiche Inhalte generiert. Ausserdem könnte man die Randbedingugen besser festlegen.

Toplösung nummer 1 wäre natürlich eine aktuellere Version vom HBCI4Java server, wird aber wohl nicht zum Download angeboten?
Captain FRAG
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Westfalen
Beiträge: 5096
Dabei seit: 05 / 2003
Betreff:

Re: Kriege Hbci4Java Server nicht zum laufen

 · 
Gepostet: 02.03.2008 - 18:52 Uhr  ·  #5
Zitat geschrieben von GustavG
Soweit klappt das Abrufen der Systemkennung und auch die Umsatz/Kontostand abfrage ohne Fehler. Zu problemen kommt es allerdings bei überweisungen, das brauch ich aber nicht unbedingt. Standmässig liegen keine Umsätze vor, ich hab ein bisschen gewühlt und herausgefunden dass das test-backend die Umsätze in der XML Datei nutzer1_transfers_<kontonr> gespeichert werden.


Hm,

ich hatte den Server auch mal Zeit am laufen. Besonders genial fand ich, das er eingeleiferte Überweisungen auch verbucht und somit als Umsatz wieder ausgegeben hat. Zwischen Konten die auf dem Server laufen sogar untereinander.

Wenn du die Überweisungen zum laufen bekommst, erledigt sich das mit dem Umsätzen von selbst.
GustavG
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 3
Dabei seit: 01 / 2008
Betreff:

Re: Kriege Hbci4Java Server nicht zum laufen

 · 
Gepostet: 02.03.2008 - 19:03 Uhr  ·  #6
Japp, das Problem ist das eine Java Exception geworfen wird (liegt evntl an der Version, ist ja nur nen RC, aber die 2.5.0 final konnt ich nicht mehr finden). Überweisungen ans laufen zu bekommen wär daher auch eine lösung, auch wenn die ich für die unit tests nicht brauche.
Gewählte Zitate für Mehrfachzitierung:   0