Hi Lorenzo,

Can you please open a JIRA issue [1] for this problem with the
following additional information:

* The Axiom version you are using.
* A test case that reproduces the problem.

Thanks,

Andreas

[1] https://issues.apache.org/jira/browse/WSCOMMONS

On Wed, Jul 14, 2010 at 17:29, Cencio1980 <[email protected]> wrote:
> Hi all,
>
> i have a servlet that works on SOAP 1.1 Message , but usually doesn't need
> to access to soap:Body content.
> i obtain an org.apache.axiom.soap.impl.dom.SOAPMessageImpl in this way:
>
> XMLStreamReader xmlStreamReader =
> XMLInputFactory.newInstance().createXMLStreamReader(((HttpServletRequest)
> req).getInputStream());
>  org.apache.axiom.soap.SOAPFactory mf = new
> org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory();
> org.apache.axiom.om.OMXMLParserWrapper parser = new
> StAXSOAPModelBuilder(xmlStreamReader,mf,null);
> org.apache.axiom.soap.impl.dom.SOAPMessageImpl soapMessage =
> (org.apache.axiom.soap.impl.dom.SOAPMessageImpl)
> ((StAXSOAPModelBuilder)parser).getSoapMessage();
>
> then i tryed to add an HeaderBlock, but if i call method serialize() on the
> header several times, only first time i can see new HeaderBlock, then i'll
> loose it.
>
> After some tests i'll find that if i call build() method on the header
> element:
> soapMessage.getEnvelope().getHeader().build()
> and i add new HeaderBlock, i can serialize the message header many times
> without loosing new added HeaderBlock elements and without building the
> message Body using very few memory.
>
> Now the problem: what if the message hasn't the Header element?
> soapMessage.getEnvelope().getHeader() is null
> I have to add a new Header, but if i don't call the build() on the Envelope
> i'll loose it first time i serialize it and if i build the envelope, i'll
> build also the Body with a huge memory load.
>
> There is a solution without building the entire soap:Body element?
>
> Thanks in advance for any help,
>
> - Lorenzo
>

Reply via email to