[ 
https://issues.apache.org/jira/browse/AXIOM-392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14573578#comment-14573578
 ] 

Hudson commented on AXIOM-392:
------------------------------

SUCCESS: Integrated in axiom-trunk #2099 (See 
[https://builds.apache.org/job/axiom-trunk/2099/])
Clean up code originally introduced by AXIOM-392. (veithen: rev 1683629)
* 
/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj
* 
/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultImpl.java
* 
/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultImpl.java
* 
/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultImpl.java
* 
/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultImpl.java


> Inconsistent behavior with respect to order of SOAPFault child elements
> -----------------------------------------------------------------------
>
>                 Key: AXIOM-392
>                 URL: https://issues.apache.org/jira/browse/AXIOM-392
>             Project: Axiom
>          Issue Type: Bug
>          Components: DOOM, LLOM
>    Affects Versions: 1.2.12
>            Reporter: Andreas Veithen
>            Assignee: Andreas Veithen
>            Priority: Minor
>             Fix For: 1.2.15
>
>
> SOAPFaultImpl#internalSerialize contains logic to reorder the child elements 
> to satisfy the requirements of SOAP 1.2 (which explicitly requires the child 
> elements of a SOAP fault to appear in a specific order). This is useful for 
> programmatically created SOAP faults because the application code doesn't 
> need to take care of the order in which setCode, setReason, etc. are called. 
> However, the reordering only works with some serialization methods. In 
> particular, the child elements are not reordered when the SOAP message is 
> serialized using a pull parser.
> This can be shown using the following code:
> SOAPFactory factory = OMAbstractFactory.getSOAP12Factory();
> SOAPFault fault = factory.createSOAPFault();
> SOAPFaultReason reason = factory.createSOAPFaultReason();
> reason.setText("Some reason");
> fault.setReason(reason);
> SOAPFaultCode code = factory.createSOAPFaultCode();
> code.setText(new QName(factory.getNamespace().getNamespaceURI(), "Server"));
> fault.setCode(code);
> System.out.println("Using serialize:");
> fault.serialize(System.out);
> System.out.println();
> System.out.println("Using pull parser:");
> XMLStreamWriter writer = StAXUtils.createXMLStreamWriter(System.out);
> new StreamingOMSerializer().serialize(fault.getXMLStreamReader(), writer);
> writer.close();
> The output is:
> Using serialize:
> <soapenv:Fault 
> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";><soapenv:Code>soapenv:Server</soapenv:Code><soapenv:Reason>Some
>  reason</soapenv:Reason></soapenv:Fault>
> Using pull parser:
> <soapenv:Fault 
> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";><soapenv:Reason>Some 
> reason</soapenv:Reason><soapenv:Code>soapenv:Server</soapenv:Code></soapenv:Fault>
> The reordering only occurs in the first case.
> Ideally, Axiom should take care of the order of child elements in the 
> setCode, setReason, etc. methods and then just serialize the object model as 
> is.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to