[ 
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

Reply via email to