Exemple #1
0
        public void ReceiveMessage(IPushRoute route, Message message)
        {
            if (message != null &&
                message.Header != null) // &&
            //MessageRegistry.RHISPIX_NotificationMessageType.EqualsTo(message.Header.Type))    // do not need validation so strict
            {
                string id = message.Header.ID.ToString();
                _context.Log.Write(string.Format("Begin processing subscribed message. Message ID: {0}", id));

                SOAPClientControlerProcessStatus s = _controler.ProcessSubscribedMessage(message);

                _context.Log.Write(string.Format("End processing subscribed message. Message ID: {0}. Result: {1}", id, s));
                _context.Log.Write("");

                //SendLogMessage(string.Format("Receive SOAP response {0}",s),message.Body.ToString(),"null");
                if (s == SOAPClientControlerProcessStatus.SendingSOAPMessageError)
                {
                    LPCException.RaiseLPCException(route, "Sending SOAP message error, maybe retry is needed.");
                }

                if (s == SOAPClientControlerProcessStatus.RecevingFailureSOAPResponse)
                {
                    LPCException.RaiseLPCException(route, "Sending SOAP message success, and recieve a failure response.");
                }
            }
            else
            {
                _context.Log.Write(LogType.Error, "Received publishing message failed or receive a unwanted publishing message.");
            }
        }