Author: ruchithf
Date: Tue Jun 5 08:18:43 2007
New Revision: 544514
URL: http://svn.apache.org/viewvc?view=rev&rev=544514
Log:
Created the Rampart-1.2 branch from the Rampart-1.2 tag and added a fix for the
issue where we loose the processed flags of soap header blocks
Added:
webservices/rampart/branches/java/
webservices/rampart/branches/java/1_2/
- copied from r544172, webservices/rampart/tags/java/1_2/
Modified:
webservices/rampart/branches/java/1_2/modules/rampart-core/pom.xml
webservices/rampart/branches/java/1_2/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
webservices/rampart/branches/java/1_2/modules/rampart-mar/pom.xml
webservices/rampart/branches/java/1_2/modules/rampart-policy/pom.xml
webservices/rampart/branches/java/1_2/modules/rampart-tests/pom.xml
webservices/rampart/branches/java/1_2/modules/rampart-trust-mar/pom.xml
webservices/rampart/branches/java/1_2/modules/rampart-trust/pom.xml
webservices/rampart/branches/java/1_2/pom.xml
Modified: webservices/rampart/branches/java/1_2/modules/rampart-core/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-core/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-core/pom.xml
(original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-core/pom.xml Tue Jun
5 08:18:43 2007
@@ -5,13 +5,13 @@
<parent>
<groupId>org.apache.rampart</groupId>
<artifactId>rampart-project</artifactId>
- <version>1.2</version>
+ <version>1.21</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>rampart-core</artifactId>
<packaging>jar</packaging>
- <version>1.2</version>
+ <version>1.21</version>
<name>Rampart - Core</name>
<build>
Modified:
webservices/rampart/branches/java/1_2/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
URL:
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
---
webservices/rampart/branches/java/1_2/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
(original)
+++
webservices/rampart/branches/java/1_2/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
Tue Jun 5 08:18:43 2007
@@ -25,6 +25,8 @@
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axiom.soap.SOAPHeader;
+import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
import org.apache.rampart.handler.WSSHandlerConstants;
import org.apache.ws.security.WSSecurityException;
@@ -32,6 +34,7 @@
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+import javax.xml.namespace.QName;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.stream.FactoryConfigurationError;
import javax.xml.stream.XMLInputFactory;
@@ -39,6 +42,9 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
/**
* Utility class for the Axis2-WSS4J Module
@@ -92,6 +98,16 @@
if (firstElement != null) {
firstElement.build();
}
+
+ //Get processed headers
+ Iterator headerBlocs = env.getHeader().getChildElements();
+ ArrayList processedHeaderQNames = new ArrayList();
+ while (headerBlocs.hasNext()) {
+ SOAPHeaderBlock element = (SOAPHeaderBlock)
headerBlocs.next();
+ if(element.isProcessed()) {
+ processedHeaderQNames.add(element.getQName());
+ }
+ }
// Check the namespace and find SOAP version and factory
String nsURI = null;
@@ -110,7 +126,18 @@
SOAPEnvelope envelope = (stAXSOAPModelBuilder)
.getSOAPEnvelope();
((OMNode) envelope.getParent()).build();
-
+
+ //Set the processed flag of the processed headers
+ SOAPHeader header = envelope.getHeader();
+ for (Iterator iter = processedHeaderQNames.iterator(); iter
+ .hasNext();) {
+ QName name = (QName) iter.next();
+ Iterator omKids = header.getChildrenWithName(name);
+ if(omKids.hasNext()) {
+ ((SOAPHeaderBlock)omKids.next()).setProcessed();
+ }
+ }
+
Element envElem = (Element) envelope;
return envElem.getOwnerDocument();
} else {
@@ -135,11 +162,34 @@
if(useDoom) {
try {
+ //Get processed headers
+ SOAPEnvelope env = (SOAPEnvelope)doc.getDocumentElement();
+ Iterator headerBlocs = env.getHeader().getChildElements();
+ ArrayList processedHeaderQNames = new ArrayList();
+ while (headerBlocs.hasNext()) {
+ SOAPHeaderBlock element = (SOAPHeaderBlock)
headerBlocs.next();
+ if(element.isProcessed()) {
+ processedHeaderQNames.add(element.getQName());
+ }
+ }
+
XMLStreamReader reader = ((OMElement) doc.getDocumentElement())
.getXMLStreamReader();
StAXSOAPModelBuilder stAXSOAPModelBuilder = new
StAXSOAPModelBuilder(
reader, null);
SOAPEnvelope envelope = stAXSOAPModelBuilder.getSOAPEnvelope();
+
+ //Set the processed flag of the processed headers
+ SOAPHeader header = envelope.getHeader();
+ for (Iterator iter = processedHeaderQNames.iterator(); iter
+ .hasNext();) {
+ QName name = (QName) iter.next();
+ Iterator omKids = header.getChildrenWithName(name);
+ if(omKids.hasNext()) {
+ ((SOAPHeaderBlock)omKids.next()).setProcessed();
+ }
+ }
+
envelope.build();
return envelope;
@@ -196,3 +246,4 @@
}
}
+
Modified: webservices/rampart/branches/java/1_2/modules/rampart-mar/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-mar/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-mar/pom.xml (original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-mar/pom.xml Tue Jun
5 08:18:43 2007
@@ -7,7 +7,7 @@
<groupId>org.apache.rampart</groupId>
<artifactId>rampart</artifactId>
<packaging>mar</packaging>
- <version>1.2</version>
+ <version>1.21</version>
<name>Rampart - Mar</name>
<scm>
Modified: webservices/rampart/branches/java/1_2/modules/rampart-policy/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-policy/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-policy/pom.xml
(original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-policy/pom.xml Tue
Jun 5 08:18:43 2007
@@ -5,13 +5,13 @@
<parent>
<groupId>org.apache.rampart</groupId>
<artifactId>rampart-project</artifactId>
- <version>1.2</version>
+ <version>1.21</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>rampart-policy</artifactId>
<packaging>jar</packaging>
- <version>1.2</version>
+ <version>1.21</version>
<name>Rampart - Policy</name>
<build>
Modified: webservices/rampart/branches/java/1_2/modules/rampart-tests/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-tests/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-tests/pom.xml
(original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-tests/pom.xml Tue Jun
5 08:18:43 2007
@@ -5,13 +5,13 @@
<parent>
<groupId>org.apache.rampart</groupId>
<artifactId>rampart-project</artifactId>
- <version>1.2</version>
+ <version>1.21</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>rampart-tests</artifactId>
<packaging>jar</packaging>
- <version>1.2</version>
+ <version>1.21</version>
<name>Rampart - Test Suite</name>
<build>
Modified:
webservices/rampart/branches/java/1_2/modules/rampart-trust-mar/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-trust-mar/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-trust-mar/pom.xml
(original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-trust-mar/pom.xml Tue
Jun 5 08:18:43 2007
@@ -7,7 +7,7 @@
<groupId>org.apache.rampart</groupId>
<artifactId>rahas</artifactId>
<packaging>mar</packaging>
- <version>1.2</version>
+ <version>1.21</version>
<name>Rampart - Trust-Mar</name>
<scm>
Modified: webservices/rampart/branches/java/1_2/modules/rampart-trust/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-trust/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-trust/pom.xml
(original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-trust/pom.xml Tue Jun
5 08:18:43 2007
@@ -5,13 +5,13 @@
<parent>
<groupId>org.apache.rampart</groupId>
<artifactId>rampart-project</artifactId>
- <version>1.2</version>
+ <version>1.21</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>rampart-trust</artifactId>
<packaging>jar</packaging>
- <version>1.2</version>
+ <version>1.21</version>
<name>Rampart - Trust</name>
<build>
Modified: webservices/rampart/branches/java/1_2/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/pom.xml (original)
+++ webservices/rampart/branches/java/1_2/pom.xml Tue Jun 5 08:18:43 2007
@@ -8,7 +8,7 @@
<packaging>pom</packaging>
<description>WS-Security, WS-Trust and WS-SecureConversation implementaion
for Apache
Axis2</description>
- <version>1.2</version>
+ <version>1.21</version>
<name>Apache Rampart</name>
<url>http://ws.apache.org/rampart</url>