Beispiel #1
0
        public void Describe(IMessageExplorer explorer, IInterceptedMessage message)
        {
            var interceptedMessage = (InterceptedMessage)message;
            var messageObject = (IMessage)Activator.CreateInstance(interceptedMessage.ObjectType);

            try
            {
                messageObject.MergeFrom(interceptedMessage.GetInputStream());
            }
            catch (InvalidProtocolBufferException ex)
            {
                explorer.AddError(string.Format(CultureInfo.InvariantCulture, "An error occured whilst parsing this message: {0}", ex.Message));
                return;
            }

            var messageExplorer = explorer.AddChildObject(interceptedMessage.MessageType);
            DescribeMessageRecursive(messageExplorer, messageObject);
        }