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."); } }
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); } }