Author: azeez
Date: Sat Mar 26 20:20:49 2011
New Revision: 1085796

URL: http://svn.apache.org/viewvc?rev=1085796&view=rev
Log:
Added in MessageContext as a property in the out/fault MessageContexts. This is 
needed in cases where an OperationContext is not created, for example, since 
the request never gets dispatched to the service operation, either due to a 
security failure or a request coming non-existing endpoint. A use case for this 
is a SOAP Tracer module which shows messages coming and and responses going 
out. If a WS-Security validation fails or if the request never gets dispatched 
to a service, and OperationContext will never get created, hence in the 
OutFlow, it will not be possible to access the in flow MessageContext. With 
this change, such thigns will be possible.


Modified:
    
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java
    
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java

Modified: 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java?rev=1085796&r1=1085795&r2=1085796&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java
 Sat Mar 26 20:20:49 2011
@@ -180,6 +180,14 @@ public class MessageContext extends Abst
     public static final String TRANSPORT_ADDR = "TRANSPORT_ADDR";
     public static final String TRANSPORT_HEADERS = "TRANSPORT_HEADERS";
 
+    /**
+     * Constant used as the key for the property which stores the In 
MessageContext in the
+     * Out MessageContext/FaultMessageContext. This is needed in cases where 
an OperationContext
+     * is not created, for example, since the request never gets dispatched to 
the service
+     * operation, either due to a security failure or a request coming in for 
a non-existing
+     * endpoint
+     */
+    public static final String IN_MESSAGE_CONTEXT = "axis2.inMsgContext";
 
     /**
      * message attachments

Modified: 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java?rev=1085796&r1=1085795&r2=1085796&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java
 Sat Mar 26 20:20:49 2011
@@ -81,6 +81,7 @@ public class MessageContextBuilder {
         newmsgCtx.setTransportIn(inMessageContext.getTransportIn());
         newmsgCtx.setTransportOut(inMessageContext.getTransportOut());
         newmsgCtx.setServerSide(inMessageContext.isServerSide());
+        newmsgCtx.setProperty(MessageContext.IN_MESSAGE_CONTEXT, 
inMessageContext);
 
         // TODO: Should this be specifying (or defaulting to) the "response" 
relationshipType??
         newmsgCtx.addRelatesTo(new 
RelatesTo(inMessageContext.getOptions().getMessageId()));


Reply via email to