You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ru...@apache.org on 2006/09/23 05:20:05 UTC
svn commit: r449147 - in /webservices/axis2/trunk/java/modules:
integration/test/org/apache/axis2/security/ samples/ security/src/META-INF/
security/src/org/apache/rampart/ security/src/org/apache/rampart/builder/
security/src/org/apache/rampart/handle...
Author: ruchithf
Date: Fri Sep 22 20:20:04 2006
New Revision: 449147
URL: http://svn.apache.org/viewvc?view=rev&rev=449147
Log:
Integrated the new handlers into rampart
Get rid of a few sysouts
Prevent building hte security sample since it should not be released with Axis2 release - will be available in the Rampart release
Modified:
webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/security/InteropTestBase.java
webservices/axis2/trunk/java/modules/samples/maven.xml
webservices/axis2/trunk/java/modules/security/src/META-INF/module.xml
webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/MessageBuilder.java
webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartEngine.java
webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartMessageData.java
webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/SymmetricBindingBuilder.java
webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/handler/RampartReceiver.java
webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java
webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java
Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/security/InteropTestBase.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/security/InteropTestBase.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/security/InteropTestBase.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/security/InteropTestBase.java Fri Sep 22 20:20:04 2006
@@ -120,8 +120,8 @@
AddressingConstants.Final.WSA_NAMESPACE;
private String targetEpr = "http://127.0.0.1:" +
-// 5556 +
- UtilServer.TESTING_PORT +
+ 5556 +
+// UtilServer.TESTING_PORT +
"/axis2/services/PingPort";
public InteropTestBase() {
Modified: webservices/axis2/trunk/java/modules/samples/maven.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/maven.xml?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/maven.xml (original)
+++ webservices/axis2/trunk/java/modules/samples/maven.xml Fri Sep 22 20:20:04 2006
@@ -39,7 +39,7 @@
<attainGoal name="version"/>
<attainGoal name="mtomSample"/>
<attainGoal name="groovy"/>
- <attainGoal name="securitySample"/>
+<!-- <attainGoal name="securitySample"/> -->
<attainGoal name="sgccalculator"/>
<attainGoal name="eventing"/>
</goal>
Modified: webservices/axis2/trunk/java/modules/security/src/META-INF/module.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/META-INF/module.xml?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/META-INF/module.xml (original)
+++ webservices/axis2/trunk/java/modules/security/src/META-INF/module.xml Fri Sep 22 20:20:04 2006
@@ -1,13 +1,24 @@
<module name="rampart" class="org.apache.rampart.Rampart">
- <Description>This module provides the WS-Security functionalities for Axis2, based on Apache WSS4J and Apache XML-Security implementations</Description>
+
+ <Description>This module provides the WS-Security and WS-SecureConversation
+ functionalities for Axis2, based on Apache WSS4J, Apache XML-Security
+ and Apache Rahas implementations.
+ </Description>
+
<inflow>
- <handler name="SecurityInHandler" class="org.apache.rampart.handler.WSDoAllReceiver">
+ <handler name="PolicyBasedSecurityInHandler" class="org.apache.rampart.handler.RampartReceiver">
<order phase="Security" phaseFirst="true"/>
</handler>
+ <handler name="SecurityInHandler" class="org.apache.rampart.handler.WSDoAllReceiver">
+ <order phase="Security"/>
+ </handler>
</inflow>
<outflow>
<handler name="SecurityOutHandler" class="org.apache.rampart.handler.WSDoAllSender">
+ <order phase="Security"/>
+ </handler>
+ <handler name="PolicyBasedSecurityOutHandler" class="org.apache.rampart.handler.RampartSender">
<order phase="Security" phaseLast="true"/>
</handler>
</outflow>
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/MessageBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/MessageBuilder.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/MessageBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/MessageBuilder.java Fri Sep 22 20:20:04 2006
@@ -33,12 +33,14 @@
public void build(MessageContext msgCtx) throws WSSPolicyException,
RampartException, WSSecurityException, AxisFault {
-
RampartMessageData rmd = new RampartMessageData(msgCtx, true);
-// Nothing to do to handle the other bindings
RampartPolicyData rpd = rmd.getPolicyData();
+ if(rpd == null) {
+ return;
+ }
+
if(rpd.isTransportBinding()) {
log.debug("Building transport binding");
TransportBindingBuilder building = new TransportBindingBuilder();
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartEngine.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartEngine.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartEngine.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartEngine.java Fri Sep 22 20:20:04 2006
@@ -35,7 +35,9 @@
RampartMessageData rmd = new RampartMessageData(msgCtx, false);
RampartPolicyData rpd = rmd.getPolicyData();
-
+ if(rpd == null) {
+ return null;
+ }
Vector results = null;
WSSecurityEngine engine = new WSSecurityEngine();
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartMessageData.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartMessageData.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartMessageData.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartMessageData.java Fri Sep 22 20:20:04 2006
@@ -187,11 +187,13 @@
}
- List it = (List)this.servicePolicy.getAlternatives().next();
-
- //Process policy and build policy data
- this.policyData = RampartPolicyBuilder.build(it);
+ if(this.servicePolicy != null){
+ List it = (List)this.servicePolicy.getAlternatives().next();
+ //Process policy and build policy data
+ this.policyData = RampartPolicyBuilder.build(it);
+ }
+
this.isClientSide = !msgCtx.isServerSide();
this.sender = sender;
@@ -498,8 +500,11 @@
* @return
*/
public static String getOperationPolicyKey(MessageContext msgCtx) {
- return createPolicyKey(msgCtx.getAxisService().getName(),
- msgCtx.getAxisOperation().getName());
+ if(msgCtx.getAxisOperation() != null) {
+ return createPolicyKey(msgCtx.getAxisService().getName(),
+ msgCtx.getAxisOperation().getName());
+ }
+ return null;
}
public static String getServicePolicyKey(MessageContext msgCtx) {
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/SymmetricBindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/SymmetricBindingBuilder.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/SymmetricBindingBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/SymmetricBindingBuilder.java Fri Sep 22 20:20:04 2006
@@ -469,6 +469,8 @@
log.debug("SignatureToken is a SecureConversationToken");
+ //TODO check for an existing token and use it
+
if(rmd.getSecConvTokenId() == null) {
log.debug("No SecureConversationToken found, " +
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/handler/RampartReceiver.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/handler/RampartReceiver.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/handler/RampartReceiver.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/handler/RampartReceiver.java Fri Sep 22 20:20:04 2006
@@ -16,6 +16,7 @@
package org.apache.rampart.handler;
+import org.apache.axiom.om.impl.dom.jaxp.DocumentBuilderFactoryImpl;
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.description.HandlerDescription;
@@ -23,11 +24,14 @@
import org.apache.axis2.engine.Handler;
import org.apache.rampart.RampartEngine;
import org.apache.rampart.RampartException;
+import org.apache.rampart.util.Axis2Util;
import org.apache.ws.secpolicy.WSSPolicyException;
import org.apache.ws.security.WSSecurityEngine;
import org.apache.ws.security.WSSecurityException;
import org.apache.ws.security.handler.WSHandlerConstants;
import org.apache.ws.security.handler.WSHandlerResult;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
import java.util.Vector;
@@ -59,12 +63,24 @@
Vector wsResult;
try {
wsResult = engine.process(msgContext);
+
+ //Convert back to LLOM
+ Document doc = ((Element)msgContext.getEnvelope()).getOwnerDocument();
+ msgContext.setEnvelope(Axis2Util.getSOAPEnvelopeFromDOOMDocument(doc));
} catch (WSSecurityException e) {
throw new AxisFault(e);
} catch (WSSPolicyException e) {
throw new AxisFault(e);
} catch (RampartException e) {
throw new AxisFault(e);
+ } finally {
+ // Reset the document builder factory
+ DocumentBuilderFactoryImpl.setDOOMRequired(false);
+
+ }
+
+ if(wsResult == null) {
+ return;
}
Vector results = null;
Modified: webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java (original)
+++ webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java Fri Sep 22 20:20:04 2006
@@ -16,7 +16,6 @@
package org.apache.rampart;
-import junit.framework.TestCase;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axiom.soap.SOAPEnvelope;
@@ -34,8 +33,11 @@
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
+
import java.io.FileInputStream;
import java.util.Iterator;
+
+import junit.framework.TestCase;
/**
* @author Ruchith Fernando (ruchith.fernando@gmail.com)
Modified: webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java (original)
+++ webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java Fri Sep 22 20:20:04 2006
@@ -39,8 +39,6 @@
MessageBuilder builder = new MessageBuilder();
builder.build(ctx);
- System.out.println(ctx.getEnvelope());
-
List list = new ArrayList();
list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN));
@@ -66,8 +64,6 @@
MessageBuilder builder = new MessageBuilder();
builder.build(ctx);
- System.out.println(ctx.getEnvelope());
-
List list = new ArrayList();
list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN));
@@ -92,8 +88,6 @@
MessageBuilder builder = new MessageBuilder();
builder.build(ctx);
- System.out.println(ctx.getEnvelope());
-
List list = new ArrayList();
list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN));
@@ -120,8 +114,6 @@
MessageBuilder builder = new MessageBuilder();
builder.build(ctx);
-
- System.out.println(ctx.getEnvelope());
List list = new ArrayList();
list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org