[
https://issues.apache.org/jira/browse/AXIOM-448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Veithen resolved AXIOM-448.
-----------------------------------
Resolution: Fixed
> Inconsistency in LLOM and DOOM SOAP11FaultImpl implementations
> --------------------------------------------------------------
>
> Key: AXIOM-448
> URL: https://issues.apache.org/jira/browse/AXIOM-448
> Project: Axiom
> Issue Type: Bug
> Components: DOOM
> Affects Versions: 1.2.13, 1.2.14
> Reporter: Nathan Clement
> Assignee: Andreas Veithen
> Fix For: 1.2.15
>
>
> The following 2 classes both implement SOAPFault:
> org.apache.axiom.soap.impl.dom.soap11.SOAP11FaultImpl
> org.apache.axiom.soap.impl.llom.soap11.SOAP11FaultImpl
> However, they implement the getNode() method differently. The LLOM
> implementation returns null, but the DOOM implementation throws
> UnsupportedOperationException. As such, I can't switch from LLOM to DOOM
> under Axis2 due to the following exception:
> Caused by: java.lang.UnsupportedOperationException: SOAP 1.1 has no Fault Node
> at
> org.apache.axiom.soap.impl.dom.soap11.SOAP11FaultImpl.getNode(SOAP11FaultImpl.java:138)
> at org.apache.axis2.AxisFault.initializeValues(AxisFault.java:202)
> at org.apache.axis2.AxisFault.<init>(AxisFault.java:196)
> at
> org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
> Please change the DOOM implementation to also return null.
> Also, the
> org.apache.axiom.soap.impl.dom.factory.DOMSOAPFactory.getDefaultFaultEnvelope()
> implementation is not correct for SOAP 1.1. I got around this by adding the
> following method to org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory
> (copied from org.apache.axiom.soap.impl.llom.soap11.SOAP11Factory):
> {code}
> public SOAPEnvelope getDefaultFaultEnvelope() throws
> SOAPProcessingException {
> SOAPEnvelope defaultEnvelope = getDefaultEnvelope();
> SOAPFault fault = createSOAPFault(defaultEnvelope.getBody());
> SOAPFaultCode faultCode = createSOAPFaultCode(fault);
> SOAPFaultReason reason = createSOAPFaultReason(fault);
> //createSOAPFaultText(reason);
> createSOAPFaultDetail(fault);
> return defaultEnvelope;
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]