Author: nandana
Date: Mon Jan 14 00:22:49 2008
New Revision: 611737
URL: http://svn.apache.org/viewvc?rev=611737&view=rev
Log:
Supporting tokens only have to be present in the incoming message when it is
not the initiator
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java?rev=611737&r1=611736&r2=611737&view=diff
==============================================================================
---
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
(original)
+++
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
Mon Jan 14 00:22:49 2008
@@ -1081,6 +1081,11 @@
return retElem;
}
+ /**
+ * Method to check whether security header is required in incoming message
+ * @param rmd
+ * @return true if a security header is required in the incoming message
+ */
public static boolean isSecHeaderRequired(RampartMessageData rmd) {
RampartPolicyData rpd = rmd.getPolicyData();
@@ -1104,24 +1109,28 @@
// Checking for supporting tokens
SupportingToken supportingTokens;
- supportingTokens = rpd.getSupportingTokens();
- if (supportingTokens != null && supportingTokens.getTokens().size() !=
0) {
- return true;
- }
-
- supportingTokens = rpd.getSignedSupportingTokens();
- if (supportingTokens != null && supportingTokens.getTokens().size() !=
0) {
- return true;
- }
+ if (!rmd.isInitiator()) {
- supportingTokens = rpd.getEndorsingSupportingTokens();
- if (supportingTokens != null && supportingTokens.getTokens().size() !=
0) {
- return true;
- }
+ supportingTokens = rpd.getSupportingTokens();
+ if (supportingTokens != null &&
supportingTokens.getTokens().size() != 0) {
+ return true;
+ }
+
+ supportingTokens = rpd.getSignedSupportingTokens();
+ if (supportingTokens != null &&
supportingTokens.getTokens().size() != 0) {
+ return true;
+ }
+
+ supportingTokens = rpd.getEndorsingSupportingTokens();
+ if (supportingTokens != null &&
supportingTokens.getTokens().size() != 0) {
+ return true;
+ }
+
+ supportingTokens = rpd.getSignedEndorsingSupportingTokens();
+ if (supportingTokens != null &&
supportingTokens.getTokens().size() != 0) {
+ return true;
+ }
- supportingTokens = rpd.getSignedEndorsingSupportingTokens();
- if (supportingTokens != null && supportingTokens.getTokens().size() !=
0) {
- return true;
}
return false;