Hmmm. Vidim, ze Metro se dostalo opravdu daleko. Kdysi pred lety jsem posilani 
zprav o desitkach GB pres SOAP With Attachments resil rucne (no, skoro rucne, 
na zakladni processing jsem pouzil existujici prutokove knihovnicky), ale toto 
je opravdu jiny salek kavy.

------------ Původní zpráva ------------
Od: Potociar Marek <marek.potoc...@sun.com>
Předmět: Re: Prenos velkych suborov do z klienta do webservice
Datum: 07.4.2009 13:39:17
----------------------------------------
Dobry den,
ak pouzivate Metro (https://metro.dev.java.net/), mozete pouzit MTOM v
kombinacii so streamovanim velkych attachmentov.

V podstate vsetko co potrebujete na strane servera spravit je pridat @MTOM a @XmlMimeType("application/octet-stream") anotacie:

@MTOM
@WebService
@Stateless
public class FooWebService {

    @WebMethod
    public String uploadFileAsAttachment (
            @WebParam (name = "fileName") String fileName,
            @WebParam (name = "fileContent")
            @XmlMimeType("application/octet-stream") DataHandler
fileContent ) throws IOException
{
...
}

Ostatne uz Meto zariadi automaticky. Viac informacii na:

https://jax-ws.dev.java.net/guide/Large_Attachments.html

S pozdravom,
Marek Potociar


On 6.4.2009, at 15:28, Dusan Zatkovsky wrote:

> 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.
>
> --
> Dusan





Oto 'tapik' Buchta, ta...@buchtovi.cz

Odpovedet emailem