You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2009/01/13 17:41:57 UTC

svn commit: r734174 - in /ode/trunk: axis2/src/main/java/org/apache/ode/axis2/ODEService.java axis2/src/main/java/org/apache/ode/axis2/soapbinding/SoapExternalService.java il-common/src/main/java/org/apache/ode/il/epr/WSAEndpoint.java

Author: mriou
Date: Tue Jan 13 08:41:17 2009
New Revision: 734174

URL: http://svn.apache.org/viewvc?rev=734174&view=rev
Log:
ODE-484 Implicit Correlations i.e. Magic session(soap header filled with session information,not p2p mode) failed when ODE heavily loaded

Modified:
    ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEService.java
    ode/trunk/axis2/src/main/java/org/apache/ode/axis2/soapbinding/SoapExternalService.java
    ode/trunk/il-common/src/main/java/org/apache/ode/il/epr/WSAEndpoint.java

Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEService.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEService.java?rev=734174&r1=734173&r2=734174&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEService.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEService.java Tue Jan 13 08:41:17 2009
@@ -229,8 +229,9 @@
         // endpoint in this case, except that it is updated with session
         // information (if available).
         if (odeMex.getProperty(MessageExchange.PROPERTY_SEP_MYROLE_SESSIONID) != null) {
-            _serviceRef.setSessionId(odeMex.getProperty(MessageExchange.PROPERTY_SEP_MYROLE_SESSIONID));
-            msgContext.setProperty(CALLBACK_SESSION_ENDPOINT, _serviceRef);
+            WSAEndpoint sessionAwareEndPoint = new WSAEndpoint(_serviceRef); 
+            sessionAwareEndPoint.setSessionId(odeMex.getProperty(MessageExchange.PROPERTY_SEP_MYROLE_SESSIONID));
+            msgContext.setProperty("callbackSessionEndpoint", sessionAwareEndPoint);
         }
 
     }

Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/soapbinding/SoapExternalService.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/soapbinding/SoapExternalService.java?rev=734174&r1=734173&r2=734174&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/soapbinding/SoapExternalService.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/soapbinding/SoapExternalService.java Tue Jan 13 08:41:17 2009
@@ -262,8 +262,9 @@
      */
     private void writeHeader(MessageContext ctxt, PartnerRoleMessageExchange odeMex) {
         Options options = ctxt.getOptions();
-        WSAEndpoint targetEPR = EndpointFactory.convertToWSA((MutableEndpoint) odeMex.getEndpointReference());
-        WSAEndpoint myRoleEPR = EndpointFactory.convertToWSA((MutableEndpoint) odeMex.getMyRoleEndpointReference());
+        WSAEndpoint targetWSAEPR = EndpointFactory.convertToWSA((MutableEndpoint) odeMex.getEndpointReference());
+        WSAEndpoint myRoleWSAEPR = EndpointFactory.convertToWSA((MutableEndpoint) odeMex.getMyRoleEndpointReference());
+        WSAEndpoint targetEPR = new WSAEndpoint(targetWSAEPR);
 
         String partnerSessionId = odeMex.getProperty(MessageExchange.PROPERTY_SEP_PARTNERROLE_SESSIONID);
         String myRoleSessionId = odeMex.getProperty(MessageExchange.PROPERTY_SEP_MYROLE_SESSIONID);
@@ -276,7 +277,8 @@
         }
         options.setProperty(ODEService.TARGET_SESSION_ENDPOINT, targetEPR);
 
-        if (myRoleEPR != null) {
+        if (myRoleWSAEPR != null) {
+            WSAEndpoint myRoleEPR = new WSAEndpoint(myRoleWSAEPR);
             if (myRoleSessionId != null) {
                 if (__log.isDebugEnabled()) {
                     __log.debug("MyRole session identifier found for myrole (callback) WSA endpoint: " + myRoleSessionId);

Modified: ode/trunk/il-common/src/main/java/org/apache/ode/il/epr/WSAEndpoint.java
URL: http://svn.apache.org/viewvc/ode/trunk/il-common/src/main/java/org/apache/ode/il/epr/WSAEndpoint.java?rev=734174&r1=734173&r2=734174&view=diff
==============================================================================
--- ode/trunk/il-common/src/main/java/org/apache/ode/il/epr/WSAEndpoint.java (original)
+++ ode/trunk/il-common/src/main/java/org/apache/ode/il/epr/WSAEndpoint.java Tue Jan 13 08:41:17 2009
@@ -44,6 +44,11 @@
     public WSAEndpoint() {
     }
 
+    // prototype constructor
+    public WSAEndpoint(WSAEndpoint prototype) {
+        _eprElmt = (Element)DOMUtils.newDocument().importNode(prototype._eprElmt, true);
+    }
+                   
     public WSAEndpoint(Map map) {
         this();
         fromMap(map);