Author: chamikara
Date: Tue Aug 22 01:11:08 2006
New Revision: 433558

URL: http://svn.apache.org/viewvc?rev=433558&view=rev
Log:
Corrected to start the client side async listner when client side async 
control messages are expected.
 
Removed the restricion of having to mention the TransportInProtocol for 
non-InOnly meps.


Modified:
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java?rev=433558&r1=433557&r2=433558&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
 Tue Aug 22 01:11:08 2006
@@ -219,5 +219,7 @@
        public static final String secureDummyNoProof="secureDummyNoProof";
        public static final String secureDummyNoToken="secureDummyNoToken";
        public static final String secureDummyNoSTR  ="secureDummyNoSTR";
-
+       
+       public static final String cannotFindTransportInDesc = 
"cannotFindTransportInDesc";
+       
 }

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties?rev=433558&r1=433557&r2=433558&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
 Tue Aug 22 01:11:08 2006
@@ -80,7 +80,7 @@
 cannotInnitMessage=Sandesha2 Internal error: cannot initialize the message.
 propertyInvalidValue=Sandesha2 Internal error: property {0} contains an 
invalid value.
 couldNotCopyParameters=Could not copy parameters when creating the new RM 
Message.
-
+cannotFindTransportInDesc=Cannot find the transport in description {0} in the 
ConfigurationContext.
 
 #-------------------------------------
 #

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java?rev=433558&r1=433557&r2=433558&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
 Tue Aug 22 01:11:08 2006
@@ -20,6 +20,7 @@
 import org.apache.axis2.context.OperationContextFactory;
 import org.apache.axis2.description.TransportInDescription;
 import org.apache.axis2.engine.ListenerManager;
+import org.apache.axis2.i18n.Messages;
 import org.apache.axis2.wsdl.WSDLConstants.WSDL20_2004Constants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -320,6 +321,7 @@
 
                SandeshaUtil.startSenderForTheSequence(configurationContext, 
internalSequenceId);
 
+               
                updateClientSideListnerIfNeeded(firstAplicationMsgCtx, 
anonymousURI);
 
        }
@@ -344,16 +346,29 @@
                        startListnerForAsyncAcks = true;
                }
 
-               if (mep != null && 
!WSDL20_2004Constants.MEP_URI_OUT_ONLY.equals(mep)) {
-                       // starting listner for the async createSeqResponse & 
terminateSer
-                       // messages.
-                       startListnerForAsyncControlMsgs = true;
-               }
-
                try {
-                       if ((startListnerForAsyncAcks || 
startListnerForAsyncControlMsgs) && transportInProtocol == null)
-                               throw new 
SandeshaException(SandeshaMessageHelper
+                       if ((startListnerForAsyncAcks || 
startListnerForAsyncControlMsgs) ) {
+                               
+                               if (transportInProtocol == null)
+                                       throw new 
SandeshaException(SandeshaMessageHelper
                                                
.getMessage(SandeshaMessageKeys.cannotStartListenerForIncommingMsgs));
+                       
+                               //TODO following code was taken from 
ServiceContext.gegMyEPR method.
+                               //         When a listner-starting method 
becomes available from Axis2, use that.
+                               ConfigurationContext configctx = 
messageContext.getConfigurationContext();
+                               ListenerManager lm = 
configctx.getListenerManager();
+                               if (!lm.isListenerRunning(transportInProtocol)) 
{
+                                       TransportInDescription trsin = 
configctx.getAxisConfiguration().
+                               getTransportIn(new QName(transportInProtocol));
+                                       if (trsin != null) {
+                                               lm.addListener(trsin, false);
+                                       } else {
+                                               String message = 
SandeshaMessageHelper.getMessage(
+                                                               
SandeshaMessageKeys.cannotFindTransportInDesc,transportInProtocol);
+                                               throw new AxisFault(message);
+                                       }
+                               }
+                       }
 
                } catch (AxisFault e) {
                        String message = SandeshaMessageHelper.getMessage(



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to