Ich schreibe einen CXF WS, um einige große Dateien hochzuladen - bis zu 1 GB. In den meisten Fällen werden sie nicht größer als 10-15 MB sein, aber das Problem ist, dass es ineffektiv ist, die Datei zu laden und sie als reguläres Byte[] mit der Standardbindung zu senden. Aus diesem Grund könnte ein benutzerdefinierter Interceptor benötigt werden, aber ich bin mir nicht sicher, ob es die einzige Option ist und wie man ihn schreibt.
Antwort
Zu viele Anzeigen?CXF unterstützt die MTOM Spezifikation, die nicht nur eine übertragungseffizientere Kodierung für Binärdaten bietet, sondern auch eine flexiblere API für Bindung mit JAXB . Dadurch werden die binären Daten entkoppelt von byte[]
und ersetzte sie durch eine DataHandler
die es Ihnen ermöglicht, die Daten aus Datenströmen zu beziehen, anstatt byte[]
. Dies gilt sowohl für die Client- als auch für die Server-Seite der Verbindung.