Webservice: Dateien downloaden vom Webserver auf den Client

Status
Nicht offen für weitere Antworten.

search@info

Mitglied
Hi Leute

Ich habe da mal eine Frage an euch!
Ich bin dabei mich in Java Webservice mit Apache Axis2 einzuarbeiten. Mein Webserver läuft über Tomcat 5.0.
Einen Webservice habe ich auch schon erstellt, wo Daten zwischen dem Webserver und dem Client ausgetauscht werden.
Nur leider verstehe ich einfach nicht, wie das mit einem Dateiendownload funktionieren soll. (Dateien sollen sein - einmal ein Zip Archiv und PDF-Dateien)
Ich habe schon mit diversen Stichworten bei google gesucht (MTOM, SOAP mit Attachments, DataHandler...), nur hab echt noch nix hilfreiches gefunden.
Ich suche Antworten auf Fragen, wie:
Was muss in die service.xml geschrieben werden, was müssen für Verweise in der wsdl-datei, wo def. ich die die MIME-Typen - muss das in den SOAP-Nachichten passieren, was macht der Server und der Client...
Also ihr seht mein Kopf ist voller Fragen.
Wenn mir jemand helfen kann, wär das echt klasse!
Am besten mit Quelltext^^

LG
 

Niki

Top Contributor
Definier einfach für den FileContent ein byte[] und speicher irgendwo den Filenamen auch noch ab. Da steckt wirklich nicht viel dahinter. Auf client-Seite musst du dann nur das byte[] in das File schreiben. In der wsdl sollte das dann so ca. aussehen:
Code:
   <complexType name="Content">
    <sequence>
     <element name="content" nillable="true" type="xsd:base64Binary"/>
     <element name="filename" nillable="true" type="xsd:string"/>
    </sequence>
   </complexType>
 

search@info

Mitglied
Also das muss in die wsdl-Datei?
Und sry aber wie genau sieht das dann auf der server und client ebene aus?
Code:
   <complexType name="Content">
    <sequence>
     <element name="content" nillable="true" type="xsd:base64Binary"/>
     <element name="filename" nillable="true" type="xsd:string"/>
    </sequence>
   </complexType>
[/quote]
 

Niki

Top Contributor
Du definierst zuerst dein Objekt welches dein File repräsentiert:

(Ich hab das ganze mit axis1.4 gemacht)

Code:
public class FileInfo{

  private String fileName = null;

  private byte[] content = null;

  //getter und setter

}

Dann definierst du das Interface für das Service

Code:
public interface DownloadService{
  public FileInfo downloadFile(String file);
}

Nun die Implentierung:
Code:
public class DownloadServiceImpl implements DownloadService{
  public FileInfo downloadFile(String file){
    byte[] b = null;
    FileInfo fi = new FileInfo();

    File f = new File(file);
    b = new byte[f.length()];
    FileInputStream fis = new FileInputStream(f);
    fis.read(b);
    fis.close();
    
    fi.setFileName(f.getName());
    fi.setContent(b);
    return fi;
  }
}

Der Client ruft dann das Service auf, ich glaub das müsste dann ca. so aussehen:

Code:
DownloadServiceStub service = new DownloadServiceStub();
FileInfo fi = service.downloadFile("meineDatei.pdf");
File f = new File(fi.getFileName());
FileOutputStream fos = new FileOutputStream(f);
fos.write(fi.getContent());
fos.flush();
fos.close();

Ungefähr so könnte es aussehen (Exceptionhandling natürlich noch einbauen)
 

Niki

Top Contributor
Das ist die Klasse die von axis2 aus deiner wsdl erzeugt wird. Du müsstest zuerst die wsdl anhand deines Interfaces generieren lassen, danach kannst du die Stub Klassen aus der wsdl generieren lassen. Mehr ist es glaub ich nicht
 

search@info

Mitglied
Die wsdl-datei muss ich die voher haben, oder kann die auch automisch, wenn ich den service angelegt habe existieren?
aber wenn ich einen Webservice anlege muss ich ja die services.xml datei mit angeben. ich habe jetzt das hier reingeschrieben:

- <service>
<description>Webservice5</description>
<parameter name="ServiceClass">download</parameter>
- <operation name="downloadFile">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>

da zeigt er mir aber fehler an. Kannst du mir sagen warum?
 

Niki

Top Contributor
Wenn du dich noch ein wenig geduldest kann ich dir ein fertiges Projekt mit einem Download Service mailen. Bin bald fertig denke ich.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Webservice funktioniert nicht Java Basics - Anfänger-Themen 5
I Upload File zu einem Webservice Java Basics - Anfänger-Themen 17
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
B Mit webservice a) String auf Webseite ausgeben b) Weiterleitung auf andere Seite Java Basics - Anfänger-Themen 10
B Hilfe bei Webservice Java Basics - Anfänger-Themen 1
B Webservice -> alle parameter bekommen von form Java Basics - Anfänger-Themen 2
M Webservice und WSDL Java Basics - Anfänger-Themen 2
P Webservice erstellen und laufen lassen Java Basics - Anfänger-Themen 1
R OutOfmemory Exception bei sehr großer Liste (Tomcat Webservice) Java Basics - Anfänger-Themen 4
L Webservice soll InputStream übergeben bekommen Java Basics - Anfänger-Themen 7
H WebService in Eclipse deployen Java Basics - Anfänger-Themen 6
H Fehlermeldung bei Webservice-Exmaple Java Basics - Anfänger-Themen 2
H Webservice - Einfaches Beispiel Java Basics - Anfänger-Themen 2
S webservice Java Basics - Anfänger-Themen 5
C Webservice mit Java aufrufen Java Basics - Anfänger-Themen 4
G Probleme beim Login (Webservice) Java Basics - Anfänger-Themen 4
G Zugriff auf Webservice -> Tutorial gesucht Java Basics - Anfänger-Themen 2
A Webservice-Aufruf Java Basics - Anfänger-Themen 5
C WebService? Java Basics - Anfänger-Themen 12
tomzen Java Unterstützung für exel dateien installieren. Java Basics - Anfänger-Themen 2
I Dateien in einem .war - File durchgehen? Java Basics - Anfänger-Themen 1
I Backend in Java und Ansicht von Dateien in statische HTML Seiten? Java Basics - Anfänger-Themen 15
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
I Dateien aus dem Resource Folder laden Java Basics - Anfänger-Themen 2
A Thread XML-Dateien zusammenfügen Java Basics - Anfänger-Themen 11
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
J Dateien lesen und schreiben Java Basics - Anfänger-Themen 5
B Jar Dateien ohne IDE verwenden? Java Basics - Anfänger-Themen 1
A Optimierung eines Programms: Mergen der Dateien Java Basics - Anfänger-Themen 23
A Zwei XML-Dateien Mergen Java Basics - Anfänger-Themen 14
A Input/Output Mehrere Csv-Dateien einlesen Java Basics - Anfänger-Themen 2
LetsSebi Dateien werden nicht in Zip gespeichert Java Basics - Anfänger-Themen 1
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
J Alle Dateien aus einem Verzeichnis laden Java Basics - Anfänger-Themen 10
MiMa log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
M Scannen von *.txt - Dateien; wo sind der oder die Fehler? Java Basics - Anfänger-Themen 4
A Input/Output Dateien einlesen und ausgeben Java Basics - Anfänger-Themen 7
S Lese- / Schreibfähigkeit von Dateien sicherstellen Java Basics - Anfänger-Themen 1
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
L Classpath Alle Dateien im Classpath finden Java Basics - Anfänger-Themen 4
MiMa Formate für Dateien und Pfade? Java Basics - Anfänger-Themen 1
O Datei in mehrere kleine Dateien umwandeln Java Basics - Anfänger-Themen 47
L Richtige Reihenfolge der Dateien Java Basics - Anfänger-Themen 5
CptK Datentypen Text Dateien einlesen Java Basics - Anfänger-Themen 3
J Logging erzeugt zwei dateien.... Java Basics - Anfänger-Themen 7
A Dateien Verschieben Java Basics - Anfänger-Themen 1
M Mehre Dateien parallel kopieren mit Multithreading Java Basics - Anfänger-Themen 8
C Methoden Dateien im Ordner anzeigen Java Basics - Anfänger-Themen 12
J Java-Dateien lassen sich nicht editieren Java Basics - Anfänger-Themen 46
E FTP Dateien hochladen Java Basics - Anfänger-Themen 3
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
Korvinus Vergleichen von 2 csv-Dateien Java Basics - Anfänger-Themen 2
I Texte mit Absätzen in Dateien speichern und auslesen Java Basics - Anfänger-Themen 1
M "substring()" mit Dateien und Pfadangaben Java Basics - Anfänger-Themen 5
Voreck Jar Dateien Standart programm ändern Java Basics - Anfänger-Themen 12
K Dateien aus Source-Package verwenden Java Basics - Anfänger-Themen 10
B Dateien aus dem "resource" - Folder kopieren in Verzeichnis Java Basics - Anfänger-Themen 9
B Kopieren von Dateien mit Adminberechtigungen Java Basics - Anfänger-Themen 14
F Threads ftp4j, viele Dateien upload Java Basics - Anfänger-Themen 5
P Einen Ordner mit Dateien hochladen [FTP] Java Basics - Anfänger-Themen 2
X Dateien direkt hintereinander schreiben, Dateiname Java Basics - Anfänger-Themen 25
G Messwerte in 2 Dateien schreiben Java Basics - Anfänger-Themen 20
C Verarbeitung von sehr großen Dateien Java Basics - Anfänger-Themen 52
F Input/Output Dateien lesen/schreiben Java Basics - Anfänger-Themen 1
V Mehrere Dateien aus JFileChooser in eine ArrayList speichern Java Basics - Anfänger-Themen 2
K Dateien lesen | IndexOutOfBoundsException Java Basics - Anfänger-Themen 2
T Classpath Problem mit dem auslesen von Text-Dateien (Pfad) Java Basics - Anfänger-Themen 3
A attach source: Zusammenhang zwischen JAR und .class/.java Dateien? Java Basics - Anfänger-Themen 2
T .jar Datei als Ordner benutzen/ Dateien aus .jar Datei auslesen Java Basics - Anfänger-Themen 3
C Klassen Class Files nachladen (mehrer .jar Dateien) Java Basics - Anfänger-Themen 2
Bluedaishi for schleife um Dateien wieder zusammen zu fügen Java Basics - Anfänger-Themen 11
S Resourcen-Dateien im Jar-File verfügbar machen (Intellij 14) Java Basics - Anfänger-Themen 14
J Dateien für anderen User "mitgeben" Java Basics - Anfänger-Themen 1
S Dateien mit Java verschieben Java Basics - Anfänger-Themen 6
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
E Dateien werden nicht gelöscht Java Basics - Anfänger-Themen 10
S Class Dateien decompilieren Java Basics - Anfänger-Themen 4
T Fehler beim Schreiben in Dateien! Java Basics - Anfänger-Themen 4
Bluedaishi Dateien Lassen sich unter windows nicht löschen Java Basics - Anfänger-Themen 8
Z Mehrere XML-Dateien zu einer zusammenfügen Java Basics - Anfänger-Themen 3
K JAR Dateien einbinden - funkt nicht wie es sollte... Java Basics - Anfänger-Themen 22
M Threads nio Dateien kopieren, Threads und Gui Java Basics - Anfänger-Themen 0
J *.sql Dateien in Java Java Basics - Anfänger-Themen 1
P Dateien im Ordner auflisten. Java Basics - Anfänger-Themen 3
P Compiler-Fehler .java Dateien kompilieren und .class Dateien zur .jar Java Basics - Anfänger-Themen 4
S Daten aus anderen Dateien in neue Datei einlesen Java Basics - Anfänger-Themen 3
M Input/Output Arbeiten mit extrem vielen Dateien Java Basics - Anfänger-Themen 8
R File chooser Dateien in frame anzeigen lassen Java Basics - Anfänger-Themen 5
N tar-Dateien Java Basics - Anfänger-Themen 6
B Methoden Dateien konvertieren Java Basics - Anfänger-Themen 3
L Dateien speichern/auslesen Java Basics - Anfänger-Themen 5
M Input/Output Probleme beim Parsen von CSV und TXT Dateien Java Basics - Anfänger-Themen 7
P Wiedereinstieg und kann keine Dateien mehr öffnen... Java Basics - Anfänger-Themen 13
F Classpath Dateien einbinden und Classpath durchsuchen Java Basics - Anfänger-Themen 2
N Java Programm zum Suchen und Ersetzen von Text Dateien Java Basics - Anfänger-Themen 10
S Dateien/LinkedList/StringBuffer - SOrtierung klappt nicht so ganz Java Basics - Anfänger-Themen 2
U Best Practice Nicht-permanente Links auf Dateien Java Basics - Anfänger-Themen 5
B In welchem (Default) Pfad erstellt Java Dateien? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben