Hi There, Thanks for all your help. very much appreciated...
On Wed, May 19, 2010 at 5:21 PM, Jorge Medina <[email protected]>wrote: > 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] >>> >>> >> >
