There is no difference, but i tryed calling hdr = ((org.apache.axiom.soap.SOAPFactory) soapMessage.getSOAPEnvelope().getOMFactory()).createSOAPHeader(soapMessage.getSOAPEnvelope());
as in the sample included in my last mail, with same result. 2010/7/16 Andreas Veithen <[email protected]> > You should not use the SOAP11HeaderImpl constructor directly, but > instead use the corresponding method on SOAPFactory. Maybe that's the > cause of the issue. > > Andreas > > On Fri, Jul 16, 2010 at 11:24, Cencio1980 <[email protected]> wrote: > > Hi Andreas, > > > > i found that i was using a wrong way to add HeaderBlocks. Now, when i add > > them to an existing SOAPHeader it works fine. > > > > Still remain the problems when the Envelope hasn't a Header. > > > > I create a new one with > > new SOAP11HeaderImpl( > > soapMessage.getSOAPEnvelope(), > > (org.apache.axiom.soap.SOAPFactory) > > soapMessage.getSOAPEnvelope().getOMFactory()); > > > > I can serialize the returned SOAPHeader as many time i want, but if i try > to > > get it from the envelope: > > soapMessage.getSOAPEnvelope().getHeader() > > it's null, and if i serialize the envelope, it will not appear. > > > > Seems i create it, but without attaching it to the envelope. > > I checked the axiom source code, but i didn't find where the new > SOAPHeader > > is setted as envelope's first children.... > > > > Before opening a Jira, i want to be sure that i'm using the api in the > right > > way. > > > > Thanks for any help, > > Lorenzo > > > > P.S. > > In attachment a simple test case (look at README). > > I tryed with axiom 1.2.8 and 1.2.9 on java 1.5 > > > > > > > > 2010/7/14 Andreas Veithen <[email protected]> > >> > >> 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 > >> > > > > > >
