WebStart + EJB

Chris1079

Grünschnabel
Hallo,

ich habe eine kleine Java - WebStart - Anwendung heruntergeladen. Die Anwendung besteht aus einem Swing - Client und einer Stateless Session Bean. Gibt man in einem Textfeld (Client) einen beliebigen Text ein, wird dieser an die EJB übergeben und anschließend in ein Label des Clients ausgegeben.

Mein Problem:
Führe ich den Swing - Client lokal aus, funktioniert dieser problemlos. Wenn ich aber die Anwendung über Java WebStart ausführe, bekomme folgende Fehlermeldung:

java.lang.NullPointerException
at com.example.ejb.Example_Stub.sayMyName(Example_Stub.java:125)
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.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187)
at $Proxy0.sayMyName(Unknown Source)
at com.example.webstart.WebStartApp.actionPerformed(WebStartApp.java:120)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)



Kann mir jemand weiterhelfen?

Muss noch dazusagen, dass ich im EJB - Bereich ein Anfänger bin.

Vielen Dank.

Gruß,

Chris
 
Was bedeutet "Die Anwendung besteht aus einem Swing - Client und einer Stateless Session Bean."?

Eine Session Bean muss in einem EJB Container laufen, sonst tut die sicher nicht wie erwartet.

Gruß
Ollie
 
Hallo Oliver,

Vielen Dank für deine Antwort.

stimmt: Die Anwendung besteht aus einem Swing - Client und einer Stateless Session Bean. Die Session Bean läuft auch in einem EJB Container.

Führe ich den Swing Client (ohne Java Web Start) aus, funktioniert der Client und somit auch die EJB. Dagegen, führe ich den Anwendung über Java Web Start aus (d.h. der Swing Client (jar)) wird heruntergeladen, bekomme ich oben genannte Fehlermeldung.

Gruß,

Chris
 
Ich peil es immer noch nicht ganz... wo läuft denn die EJB? Auf nem AppServer? Oder was für einen Container hast du da laufen? Wie sieht das Deploymentlog der Bean aus? Wie macht der Client den Lookup? EJB2 / 3? Fragen über Fragen... ;)

REINHAUN!
 
Zurück