internal InvocationException(ErrorMessage errorMessage)
        {
            SourceException = errorMessage;

            FaultCode = errorMessage.FaultCode;
            FaultString = errorMessage.FaultString;
            FaultDetail = errorMessage.FaultDetail;
            RootCause = errorMessage.RootCause;
            ExtendedData = errorMessage.ExtendedData;
        }
        public void InvokeError(int invokeId, string correlationId, object rootCause, string faultDetail, string faultString, string faultCode)
        {
            var call = new ErrorMessage()
            {
                ClientId = Uuid.NewUuid(),
                MessageId = Uuid.NewUuid(),
                CorrelationId = correlationId,
                RootCause = rootCause,
            };

            InvokeError(invokeId, call);
        }
        internal void InvokeError(int invokeId, ErrorMessage message)
        {
            if (objectEncoding != ObjectEncoding.Amf3)
                throw new NotSupportedException("Flex RPC requires AMF3 encoding.");

            var invoke = new InvokeAmf3()
            {
                InvokeId = invokeId,
                MethodCall = new Method("_error", new object[] { message }, false, CallStatus.Result)
            };
            QueueCommandAsTask(invoke, 3, 0);
        }