SOAP Fault Detail element cannot have more than one child
---------------------------------------------------------

                 Key: AXIS2-5053
                 URL: https://issues.apache.org/jira/browse/AXIS2-5053
             Project: Axis2
          Issue Type: Bug
          Components: kernel
    Affects Versions: 1.5.4
            Reporter: Francisco Vila


The source code of axis2 1.5.x has a problem in AxisFault.java (located in 
org.apache.axis2.AxisFault.java): the Detail element of the SOAP Fault can only 
have one child. It can cause a problem when, for example, a 
MessageNumberRollover fault is generated in a Web Service, because as stated in 
WS Reliable Messaging profile, the Detail element must include two childs, a 
"wsrm:Identifier" and a "wsrn:MaxMsgNumber" element.

The code where it is considered, marked as "TODO" issue, is the following:

private void initializeValues(SOAPFaultCode soapFaultCode,
                                       SOAPFaultReason soapFaultReason,
                                       SOAPFaultNode soapFaultNode,
                                       SOAPFaultRole soapFaultRole,
                                       SOAPFaultDetail soapFaultDetail) {
             this.soapFaultCode = soapFaultCode;
             this.soapFaultReason = soapFaultReason;
             this.soapFaultNode = soapFaultNode;
             this.soapFaultRole = soapFaultRole;
             this.soapFaultDetail = soapFaultDetail;
     
             if (soapFaultDetail != null) {
     //            OMElement exceptionElement = 
soapFaultDetail.getFirstChildWithName(
     //                    new 
QName(SOAPConstants.SOAP_FAULT_DETAIL_EXCEPTION_ENTRY));
     //            if (exceptionElement != null && exceptionElement.getText() 
!= null) {
     //                cause = new Exception(exceptionElement.getText());
     //            }
     
                 // TODO - Wha? Details can have multiple elements, why take 
the first child here?
                 // TODO - Review the API for details
                 // setting the first child element of the fault detail as 
this.detail
                 this.detail = soapFaultDetail.getFirstElement();
     
             }


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to