You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by am...@apache.org on 2007/05/16 19:22:11 UTC

svn commit: r538655 - /webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/SynchronousMailListener.java

Author: amilas
Date: Wed May 16 10:22:10 2007
New Revision: 538655

URL: http://svn.apache.org/viewvc?view=rev&rev=538655
Log:
Preventing possible NULL pointers 

Modified:
    webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/SynchronousMailListener.java

Modified: webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/SynchronousMailListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/SynchronousMailListener.java?view=diff&rev=538655&r1=538654&r2=538655
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/SynchronousMailListener.java (original)
+++ webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/SynchronousMailListener.java Wed May 16 10:22:10 2007
@@ -19,6 +19,7 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.ContextFactory;
+import org.apache.axis2.context.OperationContext;
 import org.apache.axis2.description.TransportInDescription;
 import org.apache.axis2.wsdl.WSDLConstants;
 import org.apache.commons.logging.Log;
@@ -36,7 +37,7 @@
     private long timeoutInMilliseconds = -1;
     private LinkedBlockingQueue queue;
 
-    public SynchronousMailListener(long timeoutInMilliseconds,LinkedBlockingQueue queue) {
+    public SynchronousMailListener(long timeoutInMilliseconds, LinkedBlockingQueue queue) {
         this.timeoutInMilliseconds = timeoutInMilliseconds;
         this.queue = queue;
     }
@@ -56,22 +57,25 @@
                         MailBasedOutTransportInfo transportInfo = (MailBasedOutTransportInfo) msgCtx
                                 .getProperty(org.apache.axis2.Constants.OUT_TRANSPORT_INFO);
                         if (transportInfo.getInReplyTo() == null) {
-                            String error = EMailSender.class.getName() +" Coudn't simulate request/response without In-Reply-To Mail header";
+                            String error = EMailSender.class.getName() + " Coudn't simulate request/response without In-Reply-To Mail header";
                             log.error(error);
                             throw new AxisFault(error);
                         }
                         if (transportInfo.getInReplyTo().equals(msgId)) {
-                            MessageContext messageContext = msgContext.getOperationContext()
-                                    .getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+                            OperationContext operationContext = msgContext.getOperationContext();
+                            MessageContext messageContext = operationContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+                            //FIXME
                             if (messageContext == null) {
-                                messageContext = ContextFactory.createMessageContext(msgContext.getConfigurationContext());
-                                messageContext.setOperationContext(msgContext.getOperationContext());
-                                messageContext.setServiceContext(msgContext.getServiceContext());
-                                msgContext.getOperationContext().addMessageContext(messageContext);
+                                if (!operationContext.isComplete()) {
+                                    messageContext = ContextFactory.createMessageContext(msgContext.getConfigurationContext());
+                                    messageContext.setOperationContext(operationContext);
+                                    messageContext.setServiceContext(msgContext.getServiceContext());
+                                    msgContext.getOperationContext().addMessageContext(messageContext);
+                                    messageContext.setEnvelope(msgCtx.getEnvelope());
+                                }
+                            } else {
+                                messageContext.setEnvelope(msgCtx.getEnvelope());
                             }
-                            messageContext
-                                    .setEnvelope(msgCtx.getEnvelope());
-                            log.info("SOAP Message :: " + messageContext.getEnvelope());
                             log.info(SynchronousMailListener.class.getName() + " found the required message.");
                             break;
                         }



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org