Re: Prenos velkych suborov do z klienta do webservice

tapik na buchtovi.cz tapik na buchtovi.cz
Úterý Duben 21 19:32:07 CEST 2009


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.Potociar na 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, tapik na buchtovi.cz



Další informace o konferenci Konference