Author: shankar
Date: Tue Dec 21 14:03:03 2010
New Revision: 1051498
URL: http://svn.apache.org/viewvc?rev=1051498&view=rev
Log:
Fixing issue RAMPART-290
Modified:
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
Modified:
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java?rev=1051498&r1=1051497&r2=1051498&view=diff
==============================================================================
---
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
(original)
+++
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
Tue Dec 21 14:03:03 2010
@@ -327,46 +327,41 @@ public class RampartEngine {
private boolean isSecurityFault(RampartMessageData rmd) {
-
- SOAPEnvelope soapEnvelope = rmd.getMsgContext().getEnvelope();
-
- SOAPFault soapFault = soapEnvelope.getBody().getFault();
-
- // This is not a soap fault
- if (soapFault == null) {
- return false;
- }
-
- String soapVersionURI =
rmd.getMsgContext().getEnvelope().getNamespace().getNamespaceURI();
-
- if
(soapVersionURI.equals(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI) ) {
-
- SOAPFaultCode faultCode = soapFault.getCode();
-
- // This is a fault processing the security header
- if
(faultCode.getTextAsQName().getNamespaceURI().equals(WSConstants.WSSE_NS)) {
- return true;
- }
-
-
- } else if
(soapVersionURI.equals(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI)) {
-
- //TODO AXIOM API returns only one fault sub code, there can be
many
- SOAPFaultSubCode faultSubCode =
soapFault.getCode().getSubCode();
-
- if (faultSubCode != null) {
- SOAPFaultValue faultSubCodeValue =
faultSubCode.getValue();
-
- // This is a fault processing the security header
- if (faultSubCodeValue != null &&
-
faultSubCodeValue.getTextAsQName().getNamespaceURI().equals(WSConstants.WSSE_NS))
{
- return true;
- }
- }
-
- }
-
- return false;
- }
+ SOAPEnvelope soapEnvelope = rmd.getMsgContext().getEnvelope();
+ SOAPFault soapFault = soapEnvelope.getBody().getFault();
+
+ // This is not a soap fault
+ if (soapFault == null) {
+ return false;
+ }
+
+ String soapVersionURI =
rmd.getMsgContext().getEnvelope().getNamespace().getNamespaceURI();
+ SOAPFaultCode faultCode = soapFault.getCode();
+ if(faultCode == null){
+ //If no fault code is given, then it can't be security
fault
+ return false;
+ }
+
+ if
(soapVersionURI.equals(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI)) {
+ // This is a fault processing the security header
+ if
(faultCode.getTextAsQName().getNamespaceURI().equals(WSConstants.WSSE_NS)) {
+ return true;
+ }
+ } else if
(soapVersionURI.equals(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI)) {
+ // TODO AXIOM API returns only one fault sub code,
there can be many
+ SOAPFaultSubCode faultSubCode = faultCode.getSubCode();
+ if (faultSubCode != null) {
+ SOAPFaultValue faultSubCodeValue =
faultSubCode.getValue();
+
+ // This is a fault processing the security
header
+ if (faultSubCodeValue != null &&
faultSubCodeValue.getTextAsQName().
+
getNamespaceURI().equals(WSConstants.WSSE_NS)) {
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
}