示例#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.");
            }
        }
示例#2
0
        public bool ProcessMessage(IPullRoute route, Message request, out Message response)
        {
            response = null;
            if (request != null &&
                request.Header != null)// &&
            //MessageRegistry.RHISPIX_RequestMessageType.EqualsTo(request.Header.Type))     // do not need validation so strict
            {
                string id = request.Header.ID.ToString();
                _context.Log.Write(string.Format("Begin processing requesting message. Request Message ID: {0}", id));

                SOAPClientControlerProcessStatus s = _controler.ProcessRequestingMessage(request, out response);

                _context.Log.Write(
                    string.Format("End processing requesting message. Request Message ID: {0}. Response Message ID: {1}. Result: {2}",
                                  id, (response != null && response.Header != null) ? response.Header.ID.ToString() : "(null)", s));
                _context.Log.Write("");

                //string Keywords = GetKeywords(request.Body.ToString());
                //SendLogMessage(string.Format("Send SOAP message {0}", s),request.Body.ToString(),Keywords);
                return(s == SOAPClientControlerProcessStatus.Success);
            }
            else
            {
                _context.Log.Write(LogType.Error, "Received requsting message failed or receive a unwanted requsting message.");
                return(false);
            }
        }