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