private void OnMessageReceived(IReceiverLink receiver, Message message) { List <CFXEnvelope> envelopes = null; try { envelopes = AmqpUtilities.EnvelopesFromMessage(message); } catch (Exception ex) { envelopes = null; AppLog.Error(ex); } if (envelopes != null && OnCFXMessageReceived != null) { try { receiver.Accept(message); envelopes.ForEach(env => OnCFXMessageReceived(new AmqpChannelAddress() { Uri = NetworkUri, Address = receiver.Name }, env)); } catch (Exception ex) { AppLog.Error(ex); } } }
private void OnMessageReceived(IReceiverLink receiver, Message message) { List <CFXEnvelope> envelopes = null; try { envelopes = AmqpUtilities.EnvelopesFromMessage(message); } catch (Exception ex) { envelopes = null; AppLog.Error(ex); } if (envelopes == null || (envelopes != null && envelopes.Count < 1)) { try { receiver.Accept(message); AppLog.Error(string.Format("Malformed Message Received: {0}", AmqpUtilities.MessagePreview(message))); Endpoint?.Channel_OnMalformedMessageReceived(new AmqpChannelAddress() { Uri = NetworkUri, Address = receiver.Name }, AmqpUtilities.StringFromEnvelopes(message)); } catch (Exception ex) { AppLog.Error(ex); } } else if (envelopes != null && OnCFXMessageReceived != null) { try { receiver.Accept(message); envelopes.ForEach(env => OnCFXMessageReceived(new AmqpChannelAddress() { Uri = NetworkUri, Address = receiver.Name }, env)); } catch (Exception ex) { AppLog.Error(ex); } } }
void IMessageProcessor.Process(MessageContext messageContext) { try { List <CFXEnvelope> messages = AmqpUtilities.EnvelopesFromMessage(messageContext.Message); if (messages != null && messages.Any()) { foreach (CFXEnvelope message in messages) { parentProcessor.Fire_OnMessageReceivedFromListener(TargetAddress, message); } } else { AppLog.Warn($"Undecodeable message received on listener {TargetAddress}"); } } catch (Exception ex) { AppLog.Error(ex); } messageContext.Complete(); }