Author: ruchithf
Date: Fri May 25 09:11:25 2007
New Revision: 541708
URL: http://svn.apache.org/viewvc?view=rev&rev=541708
Log:
Committing the fix from RAMPART-38 and the testcase for both RAMPART-38 and
RAMPART-40
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
webservices/rampart/trunk/java/modules/rampart-integration/pom.xml
webservices/rampart/trunk/java/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
webservices/rampart/trunk/java/modules/rampart-integration/src/test/resources/rampart/services-11.xml
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java?view=diff&rev=541708&r1=541707&r2=541708
==============================================================================
---
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
(original)
+++
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
Fri May 25 09:11:25 2007
@@ -16,6 +16,18 @@
package org.apache.rampart.builder;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.Vector;
+import java.util.Map.Entry;
+
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
import org.apache.axiom.om.OMElement;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -49,17 +61,6 @@
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.Vector;
-
public abstract class BindingBuilder {
private static Log log = LogFactory.getLog(BindingBuilder.class);
@@ -394,21 +395,25 @@
* @throws RampartException
*/
protected Vector addSignatureParts(HashMap tokenMap, Vector sigParts)
throws RampartException {
-
+
Set entrySet = tokenMap.entrySet();
for (Iterator iter = entrySet.iterator(); iter.hasNext();) {
- Object tempTok = iter.next();
+ Object tempTok = ((Entry)iter.next()).getValue();
WSEncryptionPart part = null;
+
if(tempTok instanceof org.apache.rahas.Token) {
+
part = new WSEncryptionPart(
((org.apache.rahas.Token) tempTok).getId());
+
} else if(tempTok instanceof WSSecSignature) {
WSSecSignature tempSig = (WSSecSignature) tempTok;
if(tempSig.getBSTTokenId() != null) {
part = new WSEncryptionPart(tempSig.getBSTTokenId());
}
} else {
+
throw new RampartException("UnsupportedTokenInSupportingToken");
}
sigParts.add(part);
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?view=diff&rev=541708&r1=541707&r2=541708
==============================================================================
---
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
Fri May 25 09:11:25 2007
@@ -520,16 +520,23 @@
return (Element)secHeaderElem.appendChild(node);
}
- public static Element insertSiblingAfter(RampartMessageData rmd, Element
child, Element sibling) {
- if(child == null) {
+ public static Element insertSiblingAfter(RampartMessageData rmd,
+ Element child, Element sibling) {
+ if (child == null) {
return appendChildToSecHeader(rmd, sibling);
} else {
- if(child.getOwnerDocument().equals(sibling.getOwnerDocument())) {
- ((OMElement)child).insertSiblingAfter((OMElement)sibling);
+ if (child.getOwnerDocument().equals(sibling.getOwnerDocument())) {
+
+ if (child.getParentNode() == null
+ && !child.getLocalName().equals("UsernameToken")) {
+ rmd.getSecHeader().getSecurityHeader().appendChild(child);
+ }
+ ((OMElement) child).insertSiblingAfter((OMElement) sibling);
return sibling;
} else {
- Element newSib =
(Element)child.getOwnerDocument().importNode(sibling, true);
- ((OMElement)child).insertSiblingAfter((OMElement)newSib);
+ Element newSib = (Element) child.getOwnerDocument().importNode(
+ sibling, true);
+ ((OMElement) child).insertSiblingAfter((OMElement) newSib);
return newSib;
}
}
Modified: webservices/rampart/trunk/java/modules/rampart-integration/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-integration/pom.xml?view=diff&rev=541708&r1=541707&r2=541708
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-integration/pom.xml
(original)
+++ webservices/rampart/trunk/java/modules/rampart-integration/pom.xml Fri May
25 09:11:25 2007
@@ -236,11 +236,17 @@
tofile="target/temp-ramp/META-INF/services.xml"/>
<jar
jarfile="target/test-resources/rampart_service_repo/services/SecureService9.aar"
basedir="target/temp-ramp"/>
- <!-- Service 10 -->
+ <!-- Service 10 -->
<copy overwrite="yes"
file="src/test/resources/rampart/services-10.xml"
tofile="target/temp-ramp/META-INF/services.xml"/>
<jar
jarfile="target/test-resources/rampart_service_repo/services/SecureService10.aar"
+ basedir="target/temp-ramp"/>
+ <!-- Service 11 -->
+ <copy overwrite="yes"
+
file="src/test/resources/rampart/services-11.xml"
+
tofile="target/temp-ramp/META-INF/services.xml"/>
+ <jar
jarfile="target/test-resources/rampart_service_repo/services/SecureService11.aar"
basedir="target/temp-ramp"/>
<!-- Service SC-1 -->
<copy overwrite="yes"
Modified:
webservices/rampart/trunk/java/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java?view=diff&rev=541708&r1=541707&r2=541708
==============================================================================
---
webservices/rampart/trunk/java/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
(original)
+++
webservices/rampart/trunk/java/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
Fri May 25 09:11:25 2007
@@ -75,7 +75,7 @@
"Unlimited Strength Jurisdiction Policy !!!");
}
- for (int i = 1; i <= 10; i++) { //<-The number of tests we have
+ for (int i = 1; i <= 11; i++) { //<-The number of tests we have
if(!basic256Supported && (i == 3 || i == 4 || i ==5)) {
//Skip the Basic256 tests
continue;
Modified:
webservices/rampart/trunk/java/modules/rampart-integration/src/test/resources/rampart/services-11.xml
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-integration/src/test/resources/rampart/services-11.xml?view=diff&rev=541708&r1=541707&r2=541708
==============================================================================
---
webservices/rampart/trunk/java/modules/rampart-integration/src/test/resources/rampart/services-11.xml
(original)
+++
webservices/rampart/trunk/java/modules/rampart-integration/src/test/resources/rampart/services-11.xml
Fri May 25 09:11:25 2007
@@ -15,7 +15,7 @@
! See the License for the specific language governing permissions and
! limitations under the License.
!-->
-<service name="SecureService10">
+<service name="SecureService11">
<!--No timestamp test-->
<module ref="addressing"/>
<module ref="rampart"/>