Author: ashakirin
Date: Mon Jan 13 16:15:20 2014
New Revision: 1557764
URL: http://svn.apache.org/r1557764
Log:
Backport [CXF-5387] Relax SOAPAction check in SoapActionInInterceptor
Modified:
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java
Modified:
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java?rev=1557764&r1=1557763&r2=1557764&view=diff
==============================================================================
---
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java
(original)
+++
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java
Mon Jan 13 16:15:20 2014
@@ -189,15 +189,16 @@ public class SoapActionInInterceptor ext
}
}
- private static boolean isActionMatch(SoapMessage message,
BindingOperationInfo boi,
- String action) {
+ private static boolean isActionMatch(SoapMessage message,
BindingOperationInfo boi, String action) {
SoapOperationInfo soi = boi.getExtensor(SoapOperationInfo.class);
- boolean allowNoMatchingToDefault = MessageUtils
- .getContextualBoolean(message,
- ALLOW_NON_MATCHING_TO_DEFAULT,
- false);
- return ((soi != null) && action.equals(soi.getAction()))
- || ((soi != null) && allowNoMatchingToDefault && StringUtils
- .isEmpty(soi.getAction()));
+ if (soi == null) {
+ return false;
+ }
+ boolean allowNoMatchingToDefault =
MessageUtils.getContextualBoolean(message,
+
ALLOW_NON_MATCHING_TO_DEFAULT,
+ false);
+ return action.equals(soi.getAction())
+ || (allowNoMatchingToDefault &&
StringUtils.isEmpty(soi.getAction())
+ || (message.getVersion() instanceof Soap12) &&
StringUtils.isEmpty(soi.getAction()));
}
}