[
https://issues.apache.org/jira/browse/AXIOM-394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Veithen updated AXIOM-394:
----------------------------------
Fix Version/s: (was: 1.2.16)
1.2.15
> 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]