ArrayList via WebService übertragen

HFT

Neues Mitglied
Hallo zusammen,

für eine Anwendung wollen wir auf eine Datenbank zugreifen. Der Zugriff auf die Datenbank soll als Webservice via RPC zur Verfügung stehen.

Unsere Idee war die Ergebnisse aus dem Datenbankabruf (ID, Titel, Bilddaten ...) jeweils in ein Objekt (ResponseObject) zu schreiben und die Objekte wiederum in eine spezialisierte ArrayList zu schreiben.

Die ArrayList sieht also folgendermaßen aus: ArrayList<ResponseObject> Response = new ArrayList<ResponseObject> ();

Nun soll diese ArrayList als Returnwert des RPC über den WebService übertragen werden.

Ist das grundsätzlich möglich, oder müssen wir eine andere Möglichkeit verwenden um die Daten auf die Clients zu übertragen.
Bei unseren Testläufen bekamen wir auf Client-Seite nur die Speicheradresse zurück (denken wir zumindest), an der die ArrayList liegt. Ein Zugriff auf die Liste ist nicht möglich.

Nur ein String ist nicht möglich, da in der Datenbank auch Bilder abgespeichert sind und ein String zu kurz wäre.

Sorry, dass ich hier keinen SourceCode einstelle, aber ich habe gerade keinen Zugriff auf diesen.

Wenn ihr noch weitere Angaben braucht um uns helfen zu können (ich weiß, es ist sehr schwammig formuliert - ich weiß aber nicht, wie ich mich genauer ausdrücken soll --> Anfänger), dann lasst es mich wissen.

Vielen Dank schon einmal im Voaraus für die Hilfe.

MfG HFT
 

Niki

Top Contributor
gib statt der ArrayList einfach ein Array von den Objekten zurück. Dynamische Collections funktionieren afaik nicht. Das Umwandeln von ArrayList zu Array ist aber keine hexerei:

Java:
List<String> myList = new ArrayList<String>();
myList.add("foobar");
String[] myArray = new String[myList.size()];
myList.toArray(myArray);
 

HFT

Neues Mitglied
Danke NiKi für die schnelle Antwort!

Das Problem ist, dass ich aus der Datenbank nicht nur Strings, sondern auch Boolean und Blob bekomme.

Insofern kann ich ja nicht einfach ein Array<String> nehmen kann. Deshalb haben wir ein Objekt angelegt, in dass ich alle Daten aus der Datenbank speichern kann (ein Objekt für eine Anwort-"Zeile").

Um alle Antwort-Sätze auf einmal zu übertragen sollten die einzelnen Objekte ja dann in einer ArrayList<ResponseObject> abgelegt und übergeben werden.

Java:
public static ArrayList<ResponseObject> read (String Query, ArrayList<ResponseObject> Response){

//[...] Verbindung zur Datenbank

           ResponseObject DBdata = new ResponseObject();
	    try {

            java.sql.ResultSet res = state.executeQuery(Query);
            
            
            while (res.next()) {
                
            	/**Aktuelle Datenbankantwort in Objekt schreiben**/ 
            	DBdata.id = res.getString("id");
                DBdata.title = res.getString("title");
                DBdata.subtitle = res.getString("subtitle");
                DBdata.page = res.getBoolean("page");
                DBdata.content = res.getString("content");
                DBdata.logo = res.getBlob("logo");
                DBdata.picture = res.getBlob("picture");
                DBdata.link = res.getString("link");
                
                /**Befülltes Objekt in ArrayList schreiben**/
                
                Response.add(DBdata);

                
            }//while

return Response;

Das ResponseObject sieht folgendermaßen aus:

Java:
public class ResponseObject {
	
	String id = "";
    String title = "";
    String subtitle = "";
    boolean page = false;
    String content = "";
    Blob logo;
    Blob picture;
    String link = "";
	
    
    
    public ResponseObject() {
		super();
	}



	public ResponseObject(String id, String title, String subtitle,
			boolean page, String content, Blob logo, Blob picture, String link) {
		super();
		this.id = id;
		this.title = title;
		this.subtitle = subtitle;
		this.page = page;
		this.content = content;
		this.logo = logo;
		this.picture = picture;
		this.link = link;
	}
}

Wenn das Zurückgeben mit den dynamischen Collections nicht geht, wie kann ich das sonst machen?

Oder muss ich erst alles in Strings umwandeln? Geht das mit Blobs überhaupt?

MfG HFT
 

Niki

Top Contributor
ich weiß, das war ja nur ein beispiel wie man aus einer arraylist ein array macht. du brauchst natürlich ein array von deinen response objekten. und ja, mit blobs geht das auch, die werden als base64 zurück geliefert
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Webservice, ArrayList übergeben Netzwerkprogrammierung 3
platofan23 Socket Hilfe mit Socket Thread und ArrayList Netzwerkprogrammierung 6
T ArrayList über Netzwerk senden! Netzwerkprogrammierung 5
M IP Adressen gespeichert in Arraylist ausgeben Netzwerkprogrammierung 3
G Alternative Rückgabe große ArrayList Netzwerkprogrammierung 2
F Fragen zu Netzwerkspiel, ArrayList verschicken Netzwerkprogrammierung 5
B Axis2 Webservice mit Client Zertifikat Authentifizierung Netzwerkprogrammierung 3
S Fragen zu Java Webservice mit Axis2 Netzwerkprogrammierung 0
R per Webservice mit GLS kommunizieren Netzwerkprogrammierung 2
L HTTP Restful Webservice Respone mit Null Body Netzwerkprogrammierung 3
H HTTP Rest Webservice mit Swagger Netzwerkprogrammierung 3
L Zugriffprobleme Client - Webservice AspenTechnology Netzwerkprogrammierung 0
T HTTP Eintragen in Webservice Netzwerkprogrammierung 1
S Webservice - Server Netzwerkprogrammierung 0
O Webservice: Telefonbuch (DB) Netzwerkprogrammierung 10
M Einfaches REST Webservice Beispiel Netzwerkprogrammierung 5
C Android: Json-POST Request zu REST Webservice Netzwerkprogrammierung 2
R Webservice und Bilder Netzwerkprogrammierung 29
C Webservice Frage Netzwerkprogrammierung 2
T Webservice als Client aufrufen Netzwerkprogrammierung 2
R Threads mit einem WebService Netzwerkprogrammierung 4
M Map über Webservice übertragen Netzwerkprogrammierung 3
K Programm als Webservice laufen lassen Netzwerkprogrammierung 5
S WebService, 4-stelliger String (Jahr) als Calendar Netzwerkprogrammierung 5
K Webservice: JAX-WS mit Tomcat5.x Netzwerkprogrammierung 2
K Webservice (Annotation) Netzwerkprogrammierung 2
R Java webservice Serverpush Netzwerkprogrammierung 4
N NullPointerException in WebService Netzwerkprogrammierung 4
J Stubs für SOAP-Webservice generieren. Ich bekomme es einfach nicht hin... Netzwerkprogrammierung 3
O Webservice ohne Eclipse laufen lassen Netzwerkprogrammierung 3
5 Webservice max. mit 5 Clients möglich Netzwerkprogrammierung 10
G .Net Webservice in Java ansprechen Netzwerkprogrammierung 3
N Von WebService auf anderen WebService zugreifen? Netzwerkprogrammierung 8
K Axis2 Webservice Netzwerkprogrammierung 7
G Problem mit Webservice Netzwerkprogrammierung 5
S Google Search Webservice mit Apache Axis realisieren? Netzwerkprogrammierung 2
C Webservice von Java-Application aufrufen Netzwerkprogrammierung 3
G Webservice: Xml-Rpc: problem mit 2 webservices Netzwerkprogrammierung 3
G Webservice gibt das falsche aus - Wieso Netzwerkprogrammierung 5
A Bei FTP Übertragung wird Datei nicht komplett übertragen Netzwerkprogrammierung 2
I Socket ObjectOutputStream-Socket: Objekt wird falsch übertragen Netzwerkprogrammierung 2
D Socket Gute Idee?: File als byte[] per ObjectIOStream übertragen Netzwerkprogrammierung 3
A RMI RMI - Thread Objekte übertragen und auf anderer Machine weiterlaufen lassen Netzwerkprogrammierung 0
T Anwendungseinstellungen ohne Datei übertragen? Netzwerkprogrammierung 8
A Socket Socket-Problem - Object wird nicht übertragen Netzwerkprogrammierung 3
TheJavaKid Bilder mit nem ObjectStream übertragen Netzwerkprogrammierung 8
S Socket Schlüssel übertragen Netzwerkprogrammierung 2
X Kleine Datenobjekte übertragen Netzwerkprogrammierung 10
M Java to php setAsciiStream übertragen Netzwerkprogrammierung 7
K Frame übertragen Netzwerkprogrammierung 8
J Nach Dateiversand werden keine Nachrichten mehr übertragen Netzwerkprogrammierung 11
S Socket Bilder übertragen Netzwerkprogrammierung 7
M Socket Bilder über das Netzwerk übertragen Netzwerkprogrammierung 4
C Client zu Client Daten übertragen Netzwerkprogrammierung 13
S ActiveMQ, JMS und Datei übertragen Netzwerkprogrammierung 25
L Socket publicKey mittels DatagramPacket übertragen Netzwerkprogrammierung 8
J Datei übertragen ja String + datei übertragen nein Netzwerkprogrammierung 5
P Socket Datei von Client zum Server übertragen --> Weiterleitung an Clients Netzwerkprogrammierung 16
Q Problem bei Vergleichen von Strings übertragen über eine Socketverbindung Netzwerkprogrammierung 3
L Audiodateien per Socket übertragen? Netzwerkprogrammierung 2
N Per POST -Methode Daten an den Web-Server übertragen. Netzwerkprogrammierung 9
F Stream wird als Char übertragen. Char -> in String umwand Netzwerkprogrammierung 5
W Objekt über Socket übertragen Netzwerkprogrammierung 14
M Daten übers Netz verschlüsselt übertragen? Wie? Netzwerkprogrammierung 18
S über rmi datei übertragen? Netzwerkprogrammierung 2
G.I.Joe Datei per POST übertragen Netzwerkprogrammierung 2
M dateien übertragen, probleme mit versch. Strömen? Netzwerkprogrammierung 4
S zip-files über sockets übertragen Netzwerkprogrammierung 11
T Rechenserver: Double übertragen Netzwerkprogrammierung 2
S Unix Datei vom Server nach Windows übertragen Netzwerkprogrammierung 8
E Dynamisches übertragen von Stubs Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben