[ https://issues.apache.org/jira/browse/AXIOM-430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Veithen resolved AXIOM-430. ----------------------------------- Resolution: Fixed Fix Version/s: 1.2.15 Assignee: Andreas Veithen > Inconsistent serialization of SOAPEnvelope > ------------------------------------------ > > Key: AXIOM-430 > URL: https://issues.apache.org/jira/browse/AXIOM-430 > Project: Axiom > Issue Type: Bug > Components: DOOM, LLOM > Affects Versions: 1.2.13 > Reporter: Andreas Veithen > Assignee: Andreas Veithen > Priority: Minor > Fix For: 1.2.15 > > > The SOAPEnvelopeImpl#internalSerialize method contains code that skips the > serialization of the SOAP header if it is empty. Presumably this code is > there because SOAPFactory#getDefaultEnvelope() always creates a SOAP header, > but one doesn't want that header to appear in the output if there are no > header blocks. However, this only works when the SOAPEnvelope is serialized > to an XMLStreamWriter, OutputStream or Writer. The header is still present in > the sequence of events produced by getXMLStreamReader or getSAXSource. This > can be shown using the following piece of code: > {code:java} > SOAPFactory factory = OMAbstractFactory.getSOAP11Factory(); > SOAPEnvelope envelope = factory.getDefaultEnvelope(); > factory.createOMElement(new QName("urn:test", "test", "p"), > envelope.getBody()); > envelope.serialize(System.out); > System.out.println(); > TransformerFactory.newInstance().newTransformer().transform(envelope.getSAXSource(true), > new StreamResult(System.out)); > {code} > The output is: > {code:xml} > <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><p:test > xmlns:p="urn:test"/></soapenv:Body></soapenv:Envelope> > <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header/><soapenv:Body><p:test > xmlns:p="urn:test"/></soapenv:Body></soapenv:Envelope> > {code} > In addition to that, SOAPEnvelopeImpl#internalSerialize also skips > serialization of whitespace and comments. -- This message was sent by Atlassian JIRA (v6.2#6252) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@ws.apache.org For additional commands, e-mail: dev-h...@ws.apache.org