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 <[email protected]> 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:[email protected]<0.urn%3auuid%[email protected]>>";
> 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:[email protected]<0.urn%3auuid%[email protected]>
> >
>
>
>
> Thanks,
> Vish
>
>
>
> On Wed, May 19, 2010 at 1:31 PM, Andreas Veithen <
> [email protected]> 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 <[email protected]>
>> 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
>> > <[email protected]> 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 <[email protected]>
>> 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 <[email protected]>
>> >> > 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: [email protected]
>> >> >> To: [email protected]
>> >> >>
>> >> >> 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 <
>> [email protected]>
>> >> >> 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: [email protected]
>> >> For additional commands, e-mail: [email protected]
>> >>
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>

Reply via email to