axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jorge Medina <cerebrotecnolog...@gmail.com>
Subject Re: InputStream to DataSource In Axis2
Date Thu, 20 May 2010 00:21:22 GMT
If you are getting an OutOfMemoryError with larger files, then your problem
must be that you are holding the attachment in memory rather than streaming
it (forwarding) to the webservice as soon as you start receiving it.

On Wed, May 19, 2010 at 6:18 PM, Nirav Shah <snirav.shah@gmail.com> wrote:

> Thanks Andreas/Jorge,
>
> i used the Axiom package(snapshot).
>
> I have the WSDL using xs:base64Binary (MTOM),. I got an OutOfmemory error
> when making a call to the service. So i used a smaller file and that seemed
> to have work. I added a TCP Mon to intercept the request and to me it seems
> like a SwA request. why would is add MIME boundary ? i generated the ADB
> stubs  and have the following set
>
>
> soapBindingStub._getServiceClient().getOptions().setProperty(Constants.Configuration.ENABLE_MTOM,Constants.VALUE_TRUE);
>
>
> *Intercepted Message header:*
>
> POST /axis2/services/sampleApp HTTP/1.1
> Content-Type: multipart/related;
> boundary=MIMEBoundaryurn_uuid_74D2AE27EAED433D531274307161705;
> type="application/xop+xml"; start="<
> 0.urn:uuid:74D2AE27EAED433D531274307161706@apache.org<0.urn%3Auuid%3A74D2AE27EAED433D531274307161706@apache.org>>";
> start-info="text/xml"
> SOAPAction: "sendRequest"
> User-Agent: Axis2
> Host: localhost:8088
> Transfer-Encoding: chunked
>
> 23a5
> --MIMEBoundaryurn_uuid_74D2AE27EAED433D531274307161705
> Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
> Content-Transfer-Encoding: binary
> Content-ID: <0.urn:uuid:74D2AE27EAED433D531274307161706@apache.org<0.urn%3Auuid%3A74D2AE27EAED433D531274307161706@apache.org>
> >
>
>
>
> Thanks,
> Vish
>
>
>
> On Wed, May 19, 2010 at 1:31 PM, Andreas Veithen <
> andreas.veithen@gmail.com> wrote:
>
>> The current Axiom trunk (which will soon be released as Axiom 1.2.9),
>> there are a couple of utility classes that can be used for that. See
>> the org.apache.axiom.util.blob package, more specifically OverflowBlob
>> and BlobDataSource. Note that this stuff is new in Axiom and will be
>> reviewed before the 1.2.9 release. Thus the API may still change in
>> the next couple of days.
>>
>> Andreas
>>
>> On Fri, May 14, 2010 at 20:43, Vishwal Shah <shahvishwal@gmail.com>
>> wrote:
>> > Thanks Andreas. Is there an alternative API in Axis2 that i can use ?
>> >
>> >
>> > Thanks,
>> > Vish
>> >
>> >
>> > On Fri, May 14, 2010 at 11:17 AM, Andreas Veithen
>> > <andreas.veithen@gmail.com> wrote:
>> >>
>> >> You should not use InputStreamDataSource. This code should never have
>> >> been included in Axis2 because it is not a valid DataSource
>> >> implementation [1].
>> >>
>> >> Andreas
>> >>
>> >> [1] http://markmail.org/message/q34d4hxahdlsefob
>> >>
>> >> On Fri, May 14, 2010 at 19:17, Vishwal Shah <shahvishwal@gmail.com>
>> wrote:
>> >> > Hi,
>> >> > My Application receives a Http Post from another web application
>> which
>> >> > sends
>> >> > ~150mgs of data, i need to take that data and create a DataHandler
>> >> > (MTOM)
>> >> > and make a webservice call to another webapp. Its kind of pass
>> through.
>> >> > i
>> >> > cannot copy that data onto any drive, it needs to create a
>> DataHandler
>> >> > from
>> >> > the inputstream received from HttpRequest. I tried using
>> >> >
>> >> > import org.apache.axis2.builder.unknowncontent.InputStreamDataSource;
>> >> >
>> >> > InputStreamDataSource ds = new
>> >> > InputStreamDataSource(request.getInputStream());
>> >> > DataHandler dh = new DatHandler(ds);
>> >> >
>> >> > This doesn't seem to be working for me.
>> >> >
>> >> >
>> >> > Thanks,
>> >> > Vish
>> >> >
>> >> >
>> >> >
>> >> > On Thu, May 13, 2010 at 1:37 PM, Martin Gainty <mgainty@hotmail.com>
>> >> > wrote:
>> >> >>
>> >> >> the most prevelant input source is OMSource which extends
>> >> >> org.xml.sax.InputSource defined here:
>> >> >>
>> >> >> package org.apache.axiom.om.impl.jaxp;
>> >> >> import javax.xml.transform.sax.SAXSource;
>> >> >> import org.apache.axiom.om.OMElement;
>> >> >> import org.apache.axiom.om.impl.serialize.OMXMLReader;
>> >> >> import org.xml.sax.InputSource;
>> >> >>
>> >> >> /**
>> >> >>  * Implementation of {@link javax.xml.transform.Source} for AXIOM.
>> >> >>  * The implementation is based on {@link SAXSource} and directly
>> >> >> transforms an AXIOM
>> >> >>  * tree into a stream of SAX events using {@link OMXMLReader}.
>> >> >>  * <p>
>> >> >>  * Note that {@link org.apache.axiom.om.OMDocType} nodes are not
>> >> >> supported
>> >> >> and will be
>> >> >>  * silently skipped.
>> >> >>  */
>> >> >> public class OMSource extends SAXSource {
>> >> >>     public OMSource(OMElement element) {
>> >> >>         super(new OMXMLReader(element), new InputSource());
>> >> >>     }
>> >> >> }
>> >> >>
>> >> >> perhaps if you could display your definition(s) of
>> >> >> InputStreamDatasource
>> >> >> class
>> >> >> we could better suggest an implementation which will accomodate
your
>> >> >> needs
>> >> >>
>> >> >> Martin
>> >> >> ______________________________________________
>> >> >> Verzicht und Vertraulichkeitanmerkung
>> >> >>
>> >> >> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
>> >> >> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
>> >> >> unbefugte
>> >> >> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese
>> >> >> Nachricht
>> >> >> dient lediglich dem Austausch von Informationen und entfaltet keine
>> >> >> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit
>> von
>> >> >> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> ________________________________
>> >> >> Date: Thu, 13 May 2010 12:01:41 -0700
>> >> >> Subject: Re: InputStream to DataSource In Axis2
>> >> >> From: shahvishwal@gmail.com
>> >> >> To: java-user@axis.apache.org
>> >> >>
>> >> >> Anyone? Any help would be greatly appreciated. i cant write it
to a
>> >> >> drive,
>> >> >> it has to be an in memory conversion.
>> >> >>
>> >> >>
>> >> >> -Vish
>> >> >>
>> >> >> On Thu, May 13, 2010 at 8:56 AM, Vishwal Shah <
>> shahvishwal@gmail.com>
>> >> >> wrote:
>> >> >>
>> >> >> Hi,
>> >> >> Is there any Datasource inbuilt into Axis2 which can take
>> >> >> Inputstream(Large data, almost 200 megs) ? I tried using
>> >> >> InputStreamDataSource, but for some reason i am getting an error
and
>> i
>> >> >> have
>> >> >> been reading about issues using InputStreamDatasource. Also, i
am
>> not
>> >> >> sure
>> >> >> if it can handle large data (the MTOM way). Any help would be
>> greatly
>> >> >> appreciated
>> >> >>
>> >> >>
>> >> >> Thanks,
>> >> >> Vish
>> >> >>
>> >> >> ________________________________
>> >> >> The New Busy think 9 to 5 is a cute idea. Combine multiple calendars
>> >> >> with
>> >> >> Hotmail. Get busy.
>> >> >
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>> >> For additional commands, e-mail: java-user-help@axis.apache.org
>> >>
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
>> For additional commands, e-mail: java-user-help@axis.apache.org
>>
>>
>

Mime
View raw message