axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Veithen (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (AXIS2-5053) SOAP Fault Detail element cannot have more than one child
Date Sat, 28 May 2011 10:59:47 GMT

     [ https://issues.apache.org/jira/browse/AXIS2-5053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andreas Veithen resolved AXIS2-5053.
------------------------------------

    Resolution: Fixed

With the change introduced in r1128596, it is now possible to get the complete list of detail
elements.

> 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-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message