You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Francisco Vila (JIRA)" <ji...@apache.org> on 2011/05/23 12:02:47 UTC
[jira] [Created] (AXIS2-5053) SOAP Fault Detail element cannot have
more than one child
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-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org
[jira] [Commented] (AXIS2-5053) SOAP Fault Detail element cannot
have more than one child
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ 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-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org
[jira] [Assigned] (AXIS2-5053) SOAP Fault Detail element cannot
have more than one child
Posted by "Andreas Veithen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-5053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Veithen reassigned AXIS2-5053:
--------------------------------------
Assignee: Andreas Veithen
> 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
>
> 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
[jira] [Updated] (AXIS2-5053) SOAP Fault Detail element cannot have
more than one child
Posted by "Andreas Veithen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-5053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Veithen updated AXIS2-5053:
-----------------------------------
Fix Version/s: 1.7.0
> 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
[jira] [Resolved] (AXIS2-5053) SOAP Fault Detail element cannot
have more than one child
Posted by "Andreas Veithen (JIRA)" <ji...@apache.org>.
[ 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