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

Hudson commented on AXIS2-5053:
-------------------------------

Integrated in Axis2 #792 (See [https://builds.apache.org/hudson/job/Axis2/792/])
    AXIS2-5053: Store all SOAP fault detail elements (not just the first one) 
in AxisFault.

veithen : 
Files : 
* /axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/AxisFault.java


> 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
>            Assignee: Andreas Veithen
>              Labels: MaxMsgNumber, detail, soapfault
>             Fix For: 1.7.0
>
>
> 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