Author: ffang
Date: Thu Aug 19 07:07:20 2010
New Revision: 987041
URL: http://svn.apache.org/viewvc?rev=987041&view=rev
Log:
[SMX4-578]Ensure that SecuritySubject is properly conveyed by cxf-nmr transport
Modified:
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRConduitOutputStream.java
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestination.java
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/test/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationTest.java
Modified:
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRConduitOutputStream.java
URL:
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRConduitOutputStream.java?rev=987041&r1=987040&r2=987041&view=diff
==============================================================================
---
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRConduitOutputStream.java
(original)
+++
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRConduitOutputStream.java
Thu Aug 19 07:07:20 2010
@@ -32,6 +32,7 @@ import java.util.logging.Logger;
import javax.activation.DataHandler;
import javax.jws.WebService;
+import javax.security.auth.Subject;
import javax.xml.namespace.QName;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
@@ -139,6 +140,8 @@ public class NMRConduitOutputStream exte
}
}
+ //copy securitySubject
+ inMsg.setSecuritySubject((Subject)
message.get(NMRTransportFactory.NMR_SECURITY_SUBJECT));
LOG.info("service for exchange " + serviceName);
@@ -185,6 +188,9 @@ public class NMRConduitOutputStream exte
}
}
+ //copy securitySubject
+ inMessage.put(NMRTransportFactory.NMR_SECURITY_SUBJECT,
nm.getSecuritySubject());
+
conduit.getMessageObserver().onMessage(inMessage);
xchng.setStatus(Status.Done);
Modified:
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestination.java
URL:
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestination.java?rev=987041&r1=987040&r2=987041&view=diff
==============================================================================
---
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestination.java
(original)
+++
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestination.java
Thu Aug 19 07:07:20 2010
@@ -140,6 +140,9 @@ public class NMRDestination extends Abst
}
}
+ //copy securitySubject
+ inMessage.put(NMRTransportFactory.NMR_SECURITY_SUBJECT,
nm.getSecuritySubject());
+
inMessage.setDestination(this);
getMessageObserver().onMessage(inMessage);
Modified:
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
URL:
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java?rev=987041&r1=987040&r2=987041&view=diff
==============================================================================
---
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
(original)
+++
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
Thu Aug 19 07:07:20 2010
@@ -27,6 +27,7 @@ import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
+import javax.security.auth.Subject;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.dom.DOMSource;
@@ -112,7 +113,8 @@ public class NMRDestinationOutputStream
}
}
-
+ //copy securitySubject
+ xchng.getOut().setSecuritySubject((Subject)
outMessage.get(NMRTransportFactory.NMR_SECURITY_SUBJECT));
xchng.getOut().setBody(new DOMSource(doc));
}
LOG.fine(new
org.apache.cxf.common.i18n.Message("POST.DISPATCH", LOG).toString());
Modified:
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java
URL:
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java?rev=987041&r1=987040&r2=987041&view=diff
==============================================================================
---
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java
(original)
+++
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java
Thu Aug 19 07:07:20 2010
@@ -48,6 +48,7 @@ public class NMRTransportFactory extends
DestinationFactory {
public static final String TRANSPORT_ID =
"http://cxf.servicemix.apache.org/transport/nmr";
+ public static String NMR_SECURITY_SUBJECT = "NMR_SECURITY_SUBJECT";
private NMR nmr;
private Bus bus;
Modified:
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/test/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationTest.java
URL:
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/test/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationTest.java?rev=987041&r1=987040&r2=987041&view=diff
==============================================================================
---
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/test/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationTest.java
(original)
+++
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/test/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationTest.java
Thu Aug 19 07:07:20 2010
@@ -63,7 +63,7 @@ public class NMRDestinationTest extends
org.apache.servicemix.nmr.api.Exchange messageExchange =
control.createMock(org.apache.servicemix.nmr.api.Exchange.class);
- EasyMock.expect(messageExchange.getOut()).andReturn(normalizedMessage);
+
EasyMock.expect(messageExchange.getOut()).andReturn(normalizedMessage).times(2);
message.put(org.apache.servicemix.nmr.api.Exchange.class,
messageExchange);
channel.send(messageExchange);
EasyMock.replay(channel);