[59723] in SAPr3-news

home help back first fref pref prev next nref lref last post

Re: Problem mit Applet das JCo benutzt

daemon@ATHENA.MIT.EDU (Henner Hucke)
Thu Jul 19 15:18:43 2007

To: sapr3-news@mit.edu
Date: Thu, 19 Jul 2007 21:17:00 +0200
From: Henner Hucke <henner.hucke@nospam.de>
Message-ID: <469fb90c$0$3834$9b4e6d93@newsspool4.arcor-online.net>

marleneernst@gmx.net schrieb:
> Hallo!
> 
> Ich habe ein Applet das mittels JCo Verbindung zu SAP herstellt und
> Daten abfragt in Eclipse erstellt. Dort funktioniert es einwandfrei.
> Sobald ich dieses Applet aber in eine html-Seite integriere geht es
> nicht mehr. Das Applet wird angezeigt, man kann etwas eingeben und
> auch ausgeben, jedoch wird JCo nicht mehr gefunden.
> 
> In der Konsole erhalte ich folgende Fehlermeldung wenn ich es das
> erste Mal versuche:
> 
> *************************************************************************************************************************
> Exception in thread "AWT-EventQueue-2"
> java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could
> not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
> access denied (java.util.PropertyPermission jco.middleware_library
> read)
> 	at com.sap.mw.jco.JCO.<clinit>(JCO.java:776)
> 	at UDDetail.actionPerformed(UDDetail.java:289)
> 	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
> 	at javax.swing.AbstractButton$Handler.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 javax.swing.JComponent.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.Component.dispatchEvent(Unknown Source)
> 	at java.awt.EventQueue.dispatchEvent(Unknown Source)
> 	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown
> Source)
> 	at java.awt.EventDispatchThread.pumpEventsForFilter(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)
> ************************************************************************************************************************
> 
> Bei allen weiteren Versuchen erhalte ich folgende Fehlermeldung:
> ************************************************************************************************************************
> Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError:
> Could not initialize class com.sap.mw.jco.JCO
> 	at UDDetail.actionPerformed(UDDetail.java:289)
> 	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
> 	at javax.swing.AbstractButton$Handler.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 javax.swing.JComponent.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.Component.dispatchEvent(Unknown Source)
> 	at java.awt.EventQueue.dispatchEvent(Unknown Source)
> 	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown
> Source)
> 	at java.awt.EventDispatchThread.pumpEventsForFilter(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)
> ************************************************************************************************************************
> 
> Ich habe schon alles mögliche probiert und arbeite nun schon den
> vierten Tag an diesem Problem.
> path und classpath sind gesetzt und ich habe auch jede erdenkliche
> Variante ausprobiert dem applet über den applet tag zu sagen wo es JCo
> finden kann.
> 
> Hoffentlich kann mir jemand helfen, denn ich weiß nicht mehr weiter!
> 
> lg
> Marlene
> 
Hallo Marlene,

die Idee aus einem Java-Applet im Browser JCo zu benutzen halte ich für 
nicht besonders geschickt. Wie Volker bereist angemerkt hat, benötigt 
JCo shared libraries (*.dll oder *.so oder ...). Weiterhin ist es einem 
Applet im allgemeinen nicht erlaubt mit anderen Maschinen zu sprechen, 
sprich wenn der Webserver nicht ebenfalls auf der SAP-Maschine läuft 
dürfte die Java-JVM im Browser mit einer Exception aussteigen. Ich würde 
ein Stück Java für den Webserver schreiben und die JCo Geschichten dort 
drin erledigen. Dieses Stück Java muss natürlich gleichzeitig auch als 
Server für die Applets dienen, die Ihre SAP-Wünsche bei diesem Teil abladen.

hth Henner

home help back first fref pref prev next nref lref last post