Zdravim,
len spresnim:
http://ws.apache.org/axis2/1_0/mtom-guide.html
a dolezity je ten zaver (File Caching for Attachments), kde sa nastavuje caching attachmentov na fs, presne preto aby to "nesedelo" v pamati. V tomto pripade nie je problem ani http, a ani to ze nieco ide v xml sprave pretoze attachments su v tomto pripade v originalnom soap message uvedene len ako referencie na dalsie mime-y. Eventuelnym problemom by mohlo byt "trasparentne proxy" niekde medzi klientom a service-om, ktore by mohlo ten prenos po nejakom objeme prerusit. Ale ak zabudneme na toto, tak by vas mala blokovat len velkost fs na strane servera a nie velkost RAM.
S pozdravom.


Dusan Zatkovsky  wrote / napísal(a):
Ahoj.

Snazim sa vyriesit $subj.

Zatial som skusil 2 cesty, ktore som vygooglil. Pomocou ws attachment v jax ws a axis2.

jaxws vyzeralo nejak takto:

@WebService ()
@Stateless ()
public class FooWebService {

    @WebMethod
    public String uploadFileAsAttachment (
            @WebParam (name = "fileName") String fileName,
            @WebParam (name = "fileContent")
@XmlAttachmentRef () DataHandler fileContent ) throws IOException {
...
}


Pre axis2 som upravil saopwithattachments example z http://ws.apache.org/axis2/1_4_1/userguide-samples.html#others.

Oba priklady som vyskusal s GlassFish2, oba skoncili pri prenose /etc/passwd uspesne, ale pri prenose vacsich suborov ( radovo GB, viac ako dostupna RAM+swap ) po kratkej chvili na chybu suvisiaci s nedostatkom pamati.

Je este nejaka ina cesta, ako prenasat subory pomocou WS? Povodne som totiz navrhoval, ze klient si s ws iba pokeca a samotny prenos obstara tretia strana, pravdepodobne nejaky ssl socket, ktoremu da webservica echo o klientovi a nejake autorizacne data, ktorymi sa potom klient ohlasi. Problem je, ze je to pre mna dalsi overhead, spojeny mimo ineho aj s vecami s javou nesuvisiacimi ( povolit dalsie porty u klienta a tak podobne ).

Diky.



Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Odpovedet emailem