You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2014/07/27 20:22:16 UTC
svn commit: r1613825 - in /axis/axis2/java/rampart/branches/1_6: ./
modules/rampart-core/
modules/rampart-core/src/main/java/org/apache/rampart/handler/
modules/rampart-core/src/main/java/org/apache/rampart/util/
modules/rampart-trust/src/main/java/org...
Author: veithen
Date: Sun Jul 27 18:22:15 2014
New Revision: 1613825
URL: http://svn.apache.org/r1613825
Log:
Merged r1090570, r1180718 and r1240337 to the 1.6 branch.
Modified:
axis/axis2/java/rampart/branches/1_6/ (props changed)
axis/axis2/java/rampart/branches/1_6/modules/rampart-core/pom.xml
axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/handler/PostDispatchVerificationHandler.java
axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java
Propchange: axis/axis2/java/rampart/branches/1_6/
------------------------------------------------------------------------------
Merged /axis/axis2/java/rampart/trunk:r1090570,1180718,1240337
Modified: axis/axis2/java/rampart/branches/1_6/modules/rampart-core/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/1_6/modules/rampart-core/pom.xml?rev=1613825&r1=1613824&r2=1613825&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/1_6/modules/rampart-core/pom.xml (original)
+++ axis/axis2/java/rampart/branches/1_6/modules/rampart-core/pom.xml Sun Jul 27 18:22:15 2014
@@ -76,6 +76,7 @@
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-dom</artifactId>
+ <scope>runtime</scope>
</dependency>
</dependencies>
</project>
Modified: axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/handler/PostDispatchVerificationHandler.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/handler/PostDispatchVerificationHandler.java?rev=1613825&r1=1613824&r2=1613825&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/handler/PostDispatchVerificationHandler.java (original)
+++ axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/handler/PostDispatchVerificationHandler.java Sun Jul 27 18:22:15 2014
@@ -20,7 +20,6 @@ import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axiom.soap.impl.dom.soap11.SOAP11HeaderBlockImpl;
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.description.HandlerDescription;
Modified: axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java?rev=1613825&r1=1613824&r2=1613825&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java (original)
+++ axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java Sun Jul 27 18:22:15 2014
@@ -16,14 +16,15 @@
package org.apache.rampart.util;
+import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMXMLBuilderFactory;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.impl.dom.DOOMAbstractFactory;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPEnvelope;
@@ -32,8 +33,6 @@ import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.soap.SOAPModelBuilder;
import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
-import org.apache.axiom.soap.impl.dom.SOAPHeaderBlockImpl;
-import org.apache.axiom.soap.impl.dom.factory.DOMSOAPFactory;
import org.apache.rampart.handler.WSSHandlerConstants;
import org.apache.ws.security.WSSecurityException;
import org.apache.xml.security.utils.XMLUtils;
@@ -147,14 +146,15 @@ public class Axis2Util {
// Check the namespace and find SOAP version and factory
String nsURI = null;
+ OMMetaFactory metaFactory = OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM);
SOAPFactory factory;
if (env.getNamespace().getNamespaceURI().equals(
SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI)) {
nsURI = SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI;
- factory = DOOMAbstractFactory.getSOAP11Factory();
+ factory = metaFactory.getSOAP11Factory();
} else {
nsURI = SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI;
- factory = DOOMAbstractFactory.getSOAP12Factory();
+ factory = metaFactory.getSOAP12Factory();
}
StAXSOAPModelBuilder stAXSOAPModelBuilder = new StAXSOAPModelBuilder(
@@ -203,6 +203,18 @@ public class Axis2Util {
public static SOAPEnvelope getSOAPEnvelopeFromDOMDocument(Document doc, boolean useDoom)
throws WSSecurityException {
+ Element documentElement = doc.getDocumentElement();
+ if (documentElement instanceof SOAPEnvelope) {
+ SOAPEnvelope env = (SOAPEnvelope)documentElement;
+ // If the DOM tree already implements the Axiom API and the corresponding
+ // Axiom implementation is also used as default implementation, then just return
+ // the SOAPEnvelope directly. Note that this will never be the case for DOOM,
+ // but may be the case for a non standard Axiom implementation.
+ if (env.getOMFactory().getMetaFactory() == OMAbstractFactory.getMetaFactory()) {
+ return env;
+ }
+ }
+
if(useDoom) {
try {
//Get processed headers
Modified: axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java?rev=1613825&r1=1613824&r2=1613825&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java (original)
+++ axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java Sun Jul 27 18:22:15 2014
@@ -16,9 +16,9 @@
package org.apache.rahas;
+import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.impl.dom.factory.OMDOMFactory;
+import org.apache.axiom.om.OMXMLBuilderFactory;
import org.apache.axiom.util.base64.Base64Utils;
import org.apache.axis2.addressing.AddressingConstants;
import org.apache.axis2.context.MessageContext;
@@ -324,8 +324,9 @@ public class RahasData {
OMElement strElem = validateTargetElem.getFirstChildWithName(new QName(WSConstants.WSSE_NS,
"SecurityTokenReference"));
- Element elem = (Element)(new StAXOMBuilder(new OMDOMFactory(),
- strElem.getXMLStreamReader()).getDocumentElement());
+ Element elem = (Element)OMXMLBuilderFactory.createStAXOMBuilder(
+ OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM).getOMFactory(),
+ strElem.getXMLStreamReader()).getDocumentElement();
try {
SecurityTokenReference str = new SecurityTokenReference((Element)elem);
@@ -350,8 +351,9 @@ public class RahasData {
OMElement strElem = renewTargetElem.getFirstChildWithName(new QName(WSConstants.WSSE_NS,
"SecurityTokenReference"));
- Element elem = (Element)(new StAXOMBuilder(new OMDOMFactory(),
- strElem.getXMLStreamReader()).getDocumentElement());
+ Element elem = (Element)OMXMLBuilderFactory.createStAXOMBuilder(
+ OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM).getOMFactory(),
+ strElem.getXMLStreamReader()).getDocumentElement();
try {
SecurityTokenReference str = new SecurityTokenReference((Element)elem);