I still don't understand what to do. I don't use WSDLs for my Axis2 services. I just used the following form:

public OMElement sayHello(OMElement element) {
           return method;
}

Something inside Axis2 after the return is buffering the whole output string 
into memory. Are you telling me I can't use this method of service building and 
must use the WSDL way?


Tammy

Dennis Sosnoski wrote:
Hi Tammy,

OMDataSource is the technique used by data binding code to tie into the Axis2 output serialization. This allows the data binding to effectively write directly to the output, as long as the DOM model doesn't need to be constructed for some reason (such as Rampart). The JiBX implementation is at modules/jibx/src/org/apache/axis2/jibx/JiBXDataSource.java in the Axis2 source code. The code that actually uses this is generated through WSDL2Java, and if you look at a generated JiBX stub or message receiver you will see the JiBXDataSource being used for objects being passed as part of the message.

 - Dennis

Dennis M. Sosnoski
SOA and Web Services in Java
Axis2 Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117



Tammy Dugan wrote:
Can you tell me a specific test case or supply a snippet of code so I know how to use an OMDataSource with an inputStream? I don't know what classes implement this interface.

Tammy

Davanum Srinivas wrote:
Hmm...Please *don't* do this :) You are better off working with
OMDataSource since it will avoid the overhead of actually creating the
DOM document in memory if it is not needed. Please check the axiom
test cases for info on how to work with OMDataSource.

thanks,
dims

On 5/23/07, Tammy Dugan <[EMAIL PROTECTED]> wrote:
I have been having a similar problem but with the actual xml in the body
of the SOAP message. I am trying to stream xml from a database to the
service output but am getting out of memory errors because something in
Axis2 is buffering the data. The soap xml I am sending back is very
large (>100 MB). Here is some code that illustrates what I am trying to do:

package org.regenstrief.query_tests;

import java.io.InputStream;

import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamReader;

import org.apache.axiom.om.OMDocument;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axiom.om.impl.dom.DocumentImpl;
import org.apache.axiom.om.impl.dom.factory.OMDOMFactory;
import org.w3c.dom.Element;

public class TestCase
{
    //service method that would get called by axis2
    public OMElement processBody() throws Exception
    {
DocumentImpl responseDoc = new DocumentImpl(new OMDOMFactory());
        Element resultXML =
responseDoc.createElement("queryDatasetReturnResponse");

        OMElement rawdataNode = readDataSetXMLToDom();
        ((OMElement) resultXML).addChild(rawdataNode);

        return (OMElement) resultXML;
    }

    private static OMElement readDataSetXMLToDom() throws Exception
    {
        OMElement resultElement = null;
        OMDocument datasetDoc = null;

InputStream inputStream = null; //input stream pulled from database

        if (inputStream != null)
        {
            XMLStreamReader parser =
XMLInputFactory.newInstance().createXMLStreamReader(inputStream);
            StAXOMBuilder builder = new StAXOMBuilder(parser);
            datasetDoc = builder.getDocument();
            resultElement = datasetDoc.getOMDocumentElement();

        }

        return resultElement;
    }

}


Does axis2 support unlimited xml in the soap body?


Tammy

Davanum Srinivas wrote:
> Jochen,
>
> we are not taking about the SAAJ API, check the Attachments class in
> axiom. There is a method called getIncomingAttachmentStreams(). Also
> check the axiom test harness it shows how to use that API. this will
> give you direct access to the streams and you can do whatever you want > by yourself. Note that this API has not been thoroughly exercised, so
> you may need to experiment/fix-stuff and help us make it better.
>
> thanks,
> dims
>
> On 5/23/07, Jochen Zink <[EMAIL PROTECTED]> wrote:
>> Sorry, I did not want to affront you. A big sorry for that!
>>
>> I know it is difficult to handle large attachments without caching it
>> in files.
>>
>> With caching attachments in files, there can(!) be some problems with
>> security configurations on some applicationservers. It can be
>> forbidden for webapplications to write any files to harddisc. This
>> could run in problems, if some people want to use axis2 in high
>> security environments, this could be a problem. A direct streaming of
>> the attachments to the Service Implementation would be solve the
>> problem... After taking a look to SAAJ I'm nearly sure, that a direct
>> streaming is imposible with this API.
>>
>> Regards!
>> Jochen
>>
>>
>> > -----Ursprüngliche Nachricht-----
>> > Von: [email protected]
>> > Gesendet: 23.05.07 10:15:30
>> > An: [email protected]
>> > Betreff: Re: MTOM error "java.lang.OutOfMemoryError: Java heap space"
>>
>>
>> >
>> > On 5/23/07, Jochen Zink <[EMAIL PROTECTED]> wrote:
>> > >
>> > > This is the only way to handle large attachments int axis2, *sadly*.
>> > Feel free to contribute or implement if you have ideas for better
>> > mechanisms for handling large attachments... There was an earlier
>> > effort to port the attachment streaming mechanisms from Axis1.. But it
>> > was never completed..
>> >
>> > Thanks,
>> > Thilina
>> >
>> > >
>> > >
>> > > > -----Ursprüngliche Nachricht-----
>> > > > Von: [email protected]
>> > > > Gesendet: 23.05.07 07:23:12
>> > > > An: "axis user" <[email protected]>
>> > > > Betreff: MTOM error "java.lang.OutOfMemoryError: Java heap space"
>> > >
>> > >
>> > > > Hi friends,
>> > > >
>> > > >
>> > > >
>> > > > I am running sample application "mtom" from standard axis2
>> samples [axis2-1.1.1\samples\mtom]. This sample is working for
>> sending attachment of size 2-3 MB, but giving error for more than 3MB
>> size of files.
>> > > >
>> > > >
>> > > >
>> > > > I want to send file of size 50-100 MB.
>> > > >
>> > > >
>> > > >
>> > > > error is as follows
>> > > >
>> > > >      [java] Exception in thread "main"
>> org.apache.axis2.AxisFault: java.lang.Out
>> > > > OfMemoryError: Java heap space
>> > > >      [java]     at
>> org.apache.axis2.description.OutInAxisOperationClient.send(Ou
>> > > > tInAxisOperation.java:271)
>> > > >      [java]     at
>> org.apache.axis2.description.OutInAxisOperationClient.execute
>> > > > (OutInAxisOperation.java:202)
>> > > >      [java]     at
>> sample.mtom.service.MTOMSampleStub.attachment(Unknown Source)
>> > > >
>> > > >
>> > > >
>> > > >      [java]     at
>> sample.mtom.client.Client.transferFile(Unknown Source)
>> > > > [java] at sample.mtom.client.Client.main(Unknown Source)
>> > > >      [java] Java Result: 1
>> > > >
>> > > >
>> > > >
>> > > > I have enabled "MTOM" & "filecaching" both in the client side,
>> but not server side caching means in "axis2.xml".
>> > > >
>> > > > 1) Can some one figureout solution?
>> > > >
>> > > > 2) Can we send file as attachment of size 50MB - 1GB?
>> > > >
>> > > >
>> > > >
>> > > > With best regards
>> > > >
>> > > > From
>> > > > Vikas R. Khengare
>> > > >
>> > >
>> > >
>> > > _______________________________________________________________
>> > > SMS schreiben mit WEB.DE FreeMail - einfach, schnell und
>> > > kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192
>> > >
>> > >
>> > >
>> ---------------------------------------------------------------------
>> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > > For additional commands, e-mail: [EMAIL PROTECTED]
>> > >
>> > >
>> >
>> >
>> > --
>> > Thilina Gunarathne  -  http://www.wso2.com -
>> http://thilinag.blogspot.com
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>> >
>>
>>
>> _______________________________________________________________
>> SMS schreiben mit WEB.DE FreeMail - einfach, schnell und
>> kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>

--
Tammy Dugan
Computer Programmer

Regenstrief Institute, Inc.
Medical Informatics
Health Information and Translational Sciences (HITS) Building
410 West 10th Street, Suite 2000
Indianapolis, IN 46202
Main: 317.423.5500
Fax: 317.423.5695
IU campus mail address: HS, 2000

(317) 423 - 5541

Confidentiality Notice: The contents of this message and any files transmitted with it may contain confidential and/or privileged information and are intended solely for the use of the named addressee(s). Additionally, the information contained herein may have been disclosed to you from medical records with confidentiality protected by federal and state laws. Federal regulations and State laws prohibit you from making further disclosure of such information without the specific written consent of the person to whom the information pertains or as otherwise permitted by such regulations. A general authorization for the release of medical or other information is not sufficient for this purpose.

If you have received this message in error, please notify the sender by return e-mail and delete the original message. Any retention, disclosure, copying, distribution or use of this information by anyone other than the intended recipient is strictly prohibited.



---------------------------------------------------------------------
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]

--
Tammy Dugan
Computer Programmer

Regenstrief Institute, Inc.
Medical Informatics
Health Information and Translational Sciences (HITS) Building
410 West 10th Street, Suite 2000
Indianapolis, IN 46202
Main: 317.423.5500
Fax: 317.423.5695
IU campus mail address: HS, 2000

(317) 423 - 5541

Confidentiality Notice: The contents of this message and any files transmitted 
with it may contain confidential and/or privileged information and are intended 
solely for the use of the named addressee(s). Additionally, the information 
contained herein may have been disclosed to you from medical records with 
confidentiality protected by federal and state laws. Federal regulations and 
State laws prohibit you from making further disclosure of such information 
without the specific written consent of the person to whom the information 
pertains or as otherwise permitted by such regulations. A general authorization 
for the release of medical or other information is not sufficient for this 
purpose.

If you have received this message in error, please notify the sender by return 
e-mail and delete the original message. Any retention, disclosure, copying, 
distribution or use of this information by anyone other than the intended 
recipient is strictly prohibited.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to