Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
            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();
            }