# Objektübergabe von Client zum Server



## Morbi (13. Okt 2007)

Hi,

ich bin gerade dabei zum ersten mal mit J2EE eine Server-Client-Anwendung auf einem JBoss Server zu bauen.
Zum laufen gekriegt hab ich soweit alles, nun gehts ans programmieren ^^
Und da steh ich jetzt vor einem Problem.
Undzwar möchte ich auf client Seite ein Objekt erzeugen und Dieses dann an den Server schicken.
Der Server soll aus dem Objekt einige Werte auslesen und mit diesen dann weiter arbeiten.
Ich habe gehört, dass das über Interfaces funktionieren soll, sprich das man dem Server ein Interface von dem Objekt verpasst, welches er gesendet bekommt und worüber er dann die get-Methoden aufruft.
Allerdings weiß ich nicht genau, wie das nun konkret aussieht.
Habt ihr da vielleicht nen Link oder eine Erläuterung für mich. Hab schon gegoogelt, bin aber nicht wirklich fündig geworden.

MFG
Morb


----------



## SlaterB (13. Okt 2007)

RMI ist ein Objekt-Übergabe-Mechanismus in Java,
hat dann aber mit J2EE nix mehr zu tun, bei J2EE sprechen alle das Java-unabhängige HTML + HTTP


----------



## Guest (13. Okt 2007)

SlaterB hat gesagt.:
			
		

> RMI ist ein Objekt-Übergabe-Mechanismus in Java,
> hat dann aber mit J2EE nix mehr zu tun, bei J2EE sprechen alle das Java-unabhängige HTML + HTTP


Hää? :shock:


----------



## HLX (15. Okt 2007)

Anonymous hat gesagt.:
			
		

> Hää? :shock:



Die Kommunikation zwischen Client und JBoss erfolgt über HTTP. 

Am Besten informierst du dich zunächst über:
a) HTTP
b) Servlet-Technologie
c) JSP-Technologie

Dann dürfte einiges klarer werden.


----------



## Gast (15. Okt 2007)

Die Beschränkung J2EE auf HTTP ist nicht korrekt. Das gilt nur für Webcontainer.

J2EE-Applikationen kommunizieren außer HTTP/HTML/Web auch per RMI-IIOP Bedingung ist allerdings, dass auf dem Client ein J2EE Application Client läuft, und kein Webbrowser.


----------



## HLX (15. Okt 2007)

Gast hat gesagt.:
			
		

> Die Beschränkung J2EE auf HTTP ist nicht korrekt. Das gilt nur für Webcontainer.
> 
> J2EE-Applikationen kommunizieren außer HTTP/HTML/Web auch per RMI-IIOP Bedingung ist allerdings, dass auf dem Client ein J2EE Application Client läuft, und kein Webbrowser.



Hmm, kannte ich noch garnicht. Kann man dann wohl auch machen. Dann sind Servlets und JSPs natürlich überflüssig.


----------



## Morbi (15. Okt 2007)

Also, ich hab das jetzt folgender Maßen gelöst: ich hab dem Objekt, welches ich übergeben möchte, ein Interface spendiert. Im Client erzeuge ich nun sowohl das Objekt als auch das Interface, weise dem Interface das Objekt zu und schicke das Interface dann an den Server. Somit kann der Server die im Interface vordefinierten Methoden auf dem Objekt aufrufen. Wenn ich das ganze nun laufen lassen möchte, kriege ich folgende Fehlermeldung auf client-Seite, mit der ich rein gar nichts anfangen kann.



> Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
> at $Proxy0.checkAvailable(Unknown Source)
> at client.EJB30Client.main(EJB30Client.java:34)
> Caused by: java.lang.ClassNotFoundException: [Ljava.lang.StackTraceElement;
> ...



Vielleicht weiß ja einer von euch weiter...
Damit wäre mir auf jedenfall sehr geholfen.


----------



## maki (15. Okt 2007)

Du bist auf dem Holzweg.

Du musst schon das ganze OBjekt vom Client zum Server schicken, ausser natürlich du hast vor, einen eigenen EJB/CORBA Server aufzusetzen und den Cient darin laufen zu lassen...


----------



## Morbi (15. Okt 2007)

Oh, ok.
Hab nicht vor nen eignene EJB Server aufzusetzen. 
Die Serverdatein sollen auf dem JBoss liegen und der Client halt lokal ausgeführt werden.
Also dann das ganze Objekt rüberschicken.
Dann brauch der Server aber auch die Klasse des Objekts, welches er erhält ?!


----------



## maki (15. Okt 2007)

> Dann brauch der Server aber auch die Klasse des Objekts, welches er erhält ?!


Richtig, alle Klassen der Objekte die vom Server zum Client können (und umgekehrt) müssen sowohl dem Client als auch dem Server bekannt sein.


----------



## Morbi (15. Okt 2007)

Ok, dann ist es ja einfacher als gedacht


----------



## maki (15. Okt 2007)

Ach ja, alle Klassen müssen  natürlich serialisierbar sein 

Nachtrag: Was ist den dein Client?


----------

