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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]