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

Hudson commented on AXIOM-394:
------------------------------

SUCCESS: Integrated in ws-axiom-trunk #1802 (See 
[https://builds.apache.org/job/ws-axiom-trunk/1802/])
AXIOM-394: Don't allow creation of SOAP elements (SOAP fault values, sub codes 
and texts) that are not meaningful in SOAP 1.1. (veithen: rev 1598867)
* 
/webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/soap/SOAPFaultCodeTestBase.java
* 
/webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/soap/SOAPFaultSubCodeTestCase.java
* 
/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultCodeImpl.java
* 
/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java
* 
/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
* 
/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultSubCodeImpl.java
* 
/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultTextImpl.java
* 
/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultValueImpl.java
* 
/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
* 
/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultCodeImpl.java
* 
/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11Factory.java
* 
/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
* 
/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultSubCodeImpl.java
* 
/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultValueImpl.java
* 
/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
* 
/webservices/axiom/trunk/modules/axiom-tests/src/test/java/org/apache/axiom/soap/SOAPFaultTextTestBase.java
* 
/webservices/axiom/trunk/modules/axiom-tests/src/test/java/org/apache/axiom/soap/SOAPFaultValueTestBase.java


> Axiom should not allow creation of SOAPFaultSubCode elements for SOAP 1.1
> -------------------------------------------------------------------------
>
>                 Key: AXIOM-394
>                 URL: https://issues.apache.org/jira/browse/AXIOM-394
>             Project: Axiom
>          Issue Type: Bug
>          Components: API
>    Affects Versions: 1.2.12
>            Reporter: Andreas Veithen
>            Priority: Minor
>             Fix For: 1.2.15
>
>
> Axiom currently allows creating and adding SOAPFaultSubCode elements to SOAP 
> 1.1 faults, although the concept of subcode doesn't exist in SOAP 1.1. To 
> avoid generating invalid SOAP messages, the SOAP11FaultCodeImpl classes in 
> LLOM and DOOM override the internalSerialize method to silently skip the 
> SOAPFaultSubCode node. However, the element is still visible when requesting 
> an XMLStreamReader or a SAXSource. 
> This can be shown using the following code:
> SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
> SOAPFault fault = factory.createSOAPFault();
> SOAPFaultCode code = factory.createSOAPFaultCode(fault);
> factory.createSOAPFaultSubCode(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();
> System.out.println();
> System.out.println("Using SAXSource:");
> TransformerFactory.newInstance().newTransformer().transform(fault.getSAXSource(true),
>  new StreamResult(System.out));
> The output is:
> Using serialize:
> <soapenv:Fault 
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><faultcode></faultcode></soapenv:Fault>
> Using pull parser:
> <soapenv:Fault 
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><faultcode><Subcode 
> /></faultcode></soapenv:Fault>
> Using SAXSource:
> <?xml version="1.0" encoding="UTF-8"?><soapenv:Fault 
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><faultcode><Subcode/></faultcode></soapenv:Fault>
> This behavior is inconsistent and Axiom should forbid creating 
> SOAPFaultSubCode objects for SOAP 1.1.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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

Reply via email to