Objekte in übergebenen Objekten mit WebServices?

Status
Nicht offen für weitere Antworten.

Anselmus

Bekanntes Mitglied
hi,

probiere immer nochmit Web Services rum und hab folgendes problem:

auf der client seite bekommt nach authentifizierung ein "session" objekt:

Code:
public class AuthManager {
	public Session authenticate(User user){
		if(UserManager.authUser(user)){
			Session session = new Session();
			return session;
		}else{
			return null;
		}
	}
}

diese session enthält zwei weitere objekte:

Code:
public class Session {
	public ServerManager server= new ServerManager();
	public EmployeeManager eManager = new EmployeeManager();
}

ServerManager und EmployeeManager sind klassen mit denen man zb Server Objekte erzeugen kann:

Code:
public class ServerManager {
	public int createServer(String name){
		try{
			Server server = new Server();
			server.setServerName(name);
			return 0;
		}catch(Exception e){
			return -1;
		}
	}
}

jetzt lasse ich mir vom eclispe wizard ein webservice aus von AuthManager erstellen. das funkioniert auch wunderbar. ich bekomme auch ein session objekt zurück. aber leider haben ServerManager und EmployeeManager auf der client seite keine funkionen mehr... das heißt ich kann zum beispiel nicht mehr folgendes machen (client seite):



Code:
//...
ServerManager serverManager = session.getServer(); // geht noch
serverManager.createServer; // geht leider nicht,

die letzte anweisung geht leider nicht... die funktion createServer kennt er gar nicht auf der clientseite...
weiß jemand ob sowas überhaupt geht?

gruß
stephan
 
S

Sven

Gast
Hi,

ein Webservice nutzt SOAP, d.h. deine Objekte werden als Text (XML) über http übertragen. Dies funktioniert nur mit serialisierbaren Objekten.

Gruss
Sven
 

Anselmus

Bekanntes Mitglied
das stimmt nicht ganz. man kann nicht alle serialisierbaren objekte übergeben. man kann nur objekte mit primitiven datentypen und set und get übergeben. alles andere geht nicht...

falls doch, sag mir bitte wie :wink:
 

Bleiglanz

Gesperrter Benutzer
stephanschoeffel hat gesagt.:
das stimmt nicht ganz. man kann nicht alle serialisierbaren objekte übergeben. man kann nur objekte mit primitiven datentypen und set und get übergeben. alles andere geht nicht...

falls doch, sag mir bitte wie :wink:

das ist alles Quatsch, serialisierbar oder nicht spielt bei SOAP überhaupt keine Rolle (auch wenn die meisten tools das natürlich einbauen)

übertragen werden kann alles, was sich hinschreiben lässt, bzw als schema-datantyp ausdrückbar ist; teilweise sogar bilder und sounds (als attachments)

es wird ja nur xml übers kabel geschickt

das problem: beim client und beim endpoint braucht man (meistens :) ) übersetzer, die so einen xml-string in java-objekte verwandeln

muss man halt einstellen, macht jedes tool ein bissl anders usw. usf
 

Anselmus

Bekanntes Mitglied
dann müßte ich aber für alle objekte, die überben werden -und für die objekte in den objekten usw...- , einen parser schreiben, auf server und client seite...

das das irgendwie geht, ist mir schon klar.

was ich sagen wollte, ist das man nicht einfach folgendes als service machen kann
Code:
public TollesObjekt gibtMirEinObjekt(...){...}

mit
Code:
public class TollesObjekt{
private nochEinAnderesObjekt; //mit anderen methoden als get und set
...
//andere methoden als get und set
...}
 

Bleiglanz

Gesperrter Benutzer
dann müßte ich aber für alle objekte, die überben werden -und für die objekte in den objekten usw...- , einen parser schreiben, auf server und client seite...
genau dafür gibt es die diversen Toolboxen (Axis, JAX-RPC, bei Websphere und Weblogic sind natürlich auch solche "WSDL-compiler" dabei)

von hand bist du da ziemlich aufgeschmissen, du könntest natürlich input und output selber als DOM-Objekte verwalten
 

Anselmus

Bekanntes Mitglied
falls das so "einfach" geht, bin ich leider noch nicht dahintergestiegen, wies geht. ich hab mit websphere sowie mit tomcat alles in eclipse und hab mir vom eclpise wizard den webservice erstellen lassen. der generiert auch ein wsdl file. aber in dem tauchen methoden von objekten, die übergeben werden, nicht auf...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T JSON-Objekte richtig parsen Netzwerkprogrammierung 8
L Socket Wie kann man in Java die Anzahl der Objekte in einem InputStream sehen ohne ihn durchgehen zu müssen Netzwerkprogrammierung 1
E Objekte versenden, Client-Server Netzwerkprogrammierung 25
A RMI RMI - Thread Objekte übertragen und auf anderer Machine weiterlaufen lassen Netzwerkprogrammierung 0
C List Deserialisierung entfernt Objekte Netzwerkprogrammierung 2
F HTTP Serialisierte Objekte aus Datei von Server Netzwerkprogrammierung 1
H Socket Objekte über Socket? Allgemeine Verständnisprobleme in Sachen Socket Netzwerkprogrammierung 3
V Socket Objekte werden nicht aktualisiert Netzwerkprogrammierung 2
S Socket Über UDP Objekte verschicken Netzwerkprogrammierung 9
B Eigene Objekte per RMI übergeben Netzwerkprogrammierung 2
S Kapselung der Netz-Objekte Netzwerkprogrammierung 3
B verschiedene Serialisierte Objekte identifizieren? Netzwerkprogrammierung 5
T Objekte im NIO unblocking mode versenden Netzwerkprogrammierung 11
C Socket ObjectInputStream liest nur Objekte der jeweiligen Programminstanz Netzwerkprogrammierung 5
G Frage zu Servlets und deren Objekte + Bilder in Servlets anzeigen? Netzwerkprogrammierung 11
G Objekte per TCP verschicken + Thread Netzwerkprogrammierung 4
T Laufen Objekte, die vom Cajo-Server geliefert werden, lokal auf dem Client? Netzwerkprogrammierung 4
T Inputstream -> verschiedene Objekte lesen Netzwerkprogrammierung 3
I Objekte über das Netzwerk Netzwerkprogrammierung 5
M Messenger - String oder Objekte Netzwerkprogrammierung 4
S Netzwerk und Objekte Netzwerkprogrammierung 5
S RMI 1.) Entfernte Objekte "Zwischenspeichern" 2.) Threadsicherheit Netzwerkprogrammierung 2
T rmi ssl zu große Objekte übergeben -> Exception Netzwerkprogrammierung 10
A Konflikt: Blocking und Non-Blocking bei Objekte versenden Netzwerkprogrammierung 4
N RMI und Datenbank Objekte Netzwerkprogrammierung 3
P Objekte über DatagramSocket versenden Netzwerkprogrammierung 12
R Mittels BufferedReader Objekte lesen? Netzwerkprogrammierung 5
M Objekte senden zwischen Java und PHP mit SOAP Netzwerkprogrammierung 9
A RMI wie kann ich objekte übergeben? Netzwerkprogrammierung 5
P Serialialiserte Objekte übers Netzwerk verschicken Netzwerkprogrammierung 9
S Objekte zwischen Client und Server über Sockets senden Netzwerkprogrammierung 2
gamebreiti Socket Server / Client Anwendung Manipulation von Objekten durch Server Netzwerkprogrammierung 9
Kjubert Synchronisieren von Objekten über Client/Server - bester Weg? Netzwerkprogrammierung 7
D Erzeugung von Objekten in Remotemethoden Netzwerkprogrammierung 2
X Versenden von Objekten braucht zu lange Netzwerkprogrammierung 5
J Problem beim versenden von eigenen Objekten über RMI Netzwerkprogrammierung 2
S senden und empfangen von Objekten? Netzwerkprogrammierung 7

Ähnliche Java Themen


Oben