private bool HandleTransInRejectWSRespose(TransferService.RJReplyType replydata, out string errorMessage, string transNumber)
        {
            bool transferWebService = false;

            if (replydata.serviceInformation != null)
            {
                //check whether there is a general exception
                if (replydata.serviceInformation.status != null &&
                    replydata.serviceInformation.status.exceptionCode != null)
                {
                    ErrorMessage = replydata.serviceInformation.status.exceptionCode.ToString() +
                                   replydata.serviceInformation.status.sourceMessage;
                    FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Transfer IN Reject web service came back with errors for" + transNumber
                                                   + replydata.serviceInformation.status.exceptionCode.ToString() +
                                                   replydata.serviceInformation.status.sourceMessage);
                }

                if (replydata.serviceData != null && replydata.serviceData.Items != null)
                {
                    if (replydata.serviceData.Items[0].GetType() != typeof(businessExceptionType))
                    {
                        //check the reply
                        transferWebService = true;
                    }
                    else
                    {
                        businessExceptionType returnData = (businessExceptionType)replydata.serviceData.Items[0];
                        ErrorMessage = returnData.responseCode.ToString() +
                                       returnData.message;
                        FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Transfer IN Reject web service came back with errors for" + transNumber + " " +
                                                       returnData.responseCode.ToString() +
                                                       returnData.message);
                        transferWebService = false;
                    }
                }
                else
                //No data came back from the web service call...log it
                {
                    transferWebService = true;
                    FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Transfer IN Reject web service did not return any data for" + transNumber);
                }
            }
            errorMessage = ErrorMessage;
            return(transferWebService);
        }
        // Void Merchandise Transfer out
        public bool MDSETransferINRejectWS(string storeNo, string transNumber, string reason, out string errorMessage)
        {
            bool transferWebService = false;

            TransferService.RJRequestType req = new TransferService.RJRequestType();
            req.serviceInformation = new serviceInformationType();

            req.serviceInformation.source               = new endpointType();
            req.serviceInformation.source.systemId      = "P2";
            req.serviceInformation.source.systemName    = "Cashlinx Phase 2";
            req.serviceInformation.source.systemVersion = "4.0";
            var conf        = SecurityAccessor.Instance.EncryptConfig;
            var transferEsb = conf.GetMDSETransferService();

            req.serviceInformation.domain = conf.DecryptValue(transferEsb.Domain);

            req.serviceInformation.shopNumber    = ShopNumber;
            req.serviceInformation.terminalID    = TerminalID;
            req.serviceInformation.userID        = UserID;
            req.serviceInformation.transactionID = TransactionID;
            req.serviceInformation.timeStamp     = CurrentDateTime;

            req.serviceData = new TransferService.RJRequestTypeServiceData();
            req.serviceData.RejectTransfer                = new RejectTransferType();
            req.serviceData.RejectTransfer.storeNumber    = storeNo;
            req.serviceData.RejectTransfer.transferNumber = transNumber;
            req.serviceData.RejectTransfer.rejectReason   = reason;

            TransferService.RJReplyType response = portClient.CreateRejectMissile(req);

            transferWebService = HandleTransInRejectWSRespose(response, out errorMessage, transNumber);

            portClient.Close();

            return(transferWebService);
        }